1.到http://silverlight.codeplex.com/下载Silverlight Toolkit后安装,Silverlight单元测试框架会自动安装,如果是Silverlight5版本的toolkit则测试框程序集在 C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Toolkit\dec11\Testing下面,分别是 Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll和Microsoft.Silverlight.Testing.dll,其它版本的Toolkit到相应文件夹中查找
2、在Silverlight解决方案中添加新的Silverlight应用程序作为单元测试项目,注意,可将“在解决方案中的新网站或现有网站上承载Silverlight应用程序”复选框取消勾选,如下图。
3、删除测试目中的MainPage,添加对Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll和Microsoft.Silverlight.Testing.dll的引用,然后修改测试项目的App.xaml.cs文件:
添加using Microsoft.Silverlight.Testing;
修改Application_Startup方法如下:
private void Application_Startup(object sender, StartupEventArgs e) { this.RootVisual = UnitTestSystem.CreateTestPage();//创建单元测试页面 }
以 上是创建测试框架主页,如下图:
4、创建测试类
添加一个类命名为TestClass,在类中引用
using Microsoft.Silverlight.Testing; using Microsoft.VisualStudio.TestTools.UnitTesting;
两个命名空间,同时添加对要测试的Silverlight项目的引用,测试类如下:
using System.Windows; using IMCP_Web.Utils; using Microsoft.Silverlight.Testing; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace ImcpWebUnitTest.IMCP_Web.Utils { [TestClass] public class Helper_Test:SilverlightTest { [TestMethod] [Description("将一个字符串转换成坐标点")] public void TestGetPointFromStr() { Point point = Helper.GetPointFromStr("10,10"); Assert.AreEqual(point, new Point(10,10)); } } }
[TestClass]说明这是一个单元测试类,同时该类继承自Silverlight单元测试框架的SilverlightTest类
[TestMethod]说明这个方法是个测试方法
[Description("")]对测试方法进行描述
方法TestGetPointFromStr()即是对被测项目中类Helper中方法GetPointFromStr方法进行测试
5、将测试项目设为启始项目,运行即看到上面的测试框架页面,默认进入页面后,点击"Use tag expression",在左侧栏选中要运行的测试方法,右侧会显示测试结果,如果一个测试方法不通过程序会进入发生异常的代码行.
本文根据网上资料和结合之前Silverlight3测试框架相关资源总结而得.