微软在08年的时候推出了一个Silverlight的单元测试框架,该框架在Mix 08的时候与Silverlight controls同时推出的,微软工程师Jeff Wilcox一直参与维护该单元测试框架。
Scott Gu对这个框架的介绍
Jeff Wilcox提供的视频介绍
该框架的源代码已经包括在Silverlight controls中,有兴趣的可以参考,在该框架的msdn代码主页, 可以找到最新的二进制文件和相关教程及链接。
下面简单说明如何使用这个单元测试框架。
首先我们要从这里下载最新的单于测试框架的dll。
然后我们打开vs2008创建一个silverlight application,用于运行单元测试,我们把这个工程命名为UnitTest。
把下载的框架dll解压到项目工程目录里(我新建了一个ref目录),然后右键点击References添加刚才解压的2个dll,Microsoft.Silverlight.Testing.dll和Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll。
因为框架可以生成测试页面,所以我们把项目里的page.xaml和page.xaml.cs删除,然后打开app.xaml.cs,在页面里添加对Microsoft.Silverlight.Testing的引用,并且把RootVisual修改为UnitTestSystem.CreateTestPage();
- #using Microsoft.Silverlight.Testing;
#using Microsoft.Silverlight.Testing;
- private void Application_Startup(object sender, StartupEventArgs e)
- {
- this.RootVisual = UnitTestSystem.CreateTestPage();
- }
private void Application_Startup(object sender, StartupEventArgs e){this.RootVisual = UnitTestSystem.CreateTestPage();}
然后我们在工程里添加一个class,在class里引用Microsoft.VisualStudio.TestTools.UnitTesting,然后加入一个TestMethod,代码如下:
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- namespace UnitTest
- {
- [TestClass]
- public class TestGame
- {
- [TestMethod]
- public void TestDispose()
- {
- Assert.IsTrue(true);
- }
- }
- }
using Microsoft.VisualStudio.TestTools.UnitTesting;namespace UnitTest {[TestClass]public class TestGame{[TestMethod]public void TestDispose(){Assert.IsTrue(true);}} }
按F5运行工程,看看输出结果,是不是很方便?
当然你也可以用这个框架进行Silverlight UI的单元测试工作,具体可以看Jeff的这篇文章。
转载请注明来自ET瓦力Silverlight技术中文博客