喜庆牛年,希望我的本命年可以顺利过去…
转:Silverlight单元测试框架
上一篇 /
下一篇 2011-08-13 12:11:00
Silverlight单元测试框架
发布时间: 2010-2-03 13:41 作者: 王喆(nasa) [cnblogs] 来源: 51Testing软件测试网采编
字体: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 | 推荐标签: 测试框架 单元测试
微软的silverlight单元测试框架现在已经托管到了MSDN Code Gallery网站上,你可以在上边找到最新的Release版本和一些最新的资料。
http://code.msdn.microsoft.com/silverlightut/
每当一个开发人员尝试过了测试驱动开发(TDD)就会十分的欣赏这个方式。接下来我将介绍一下如何使用来使用这个框架。
配置环境
1.下载Silverlight Unit Test VS模板
2.下载Silverlight Unit Test Framework Binaries库
解压。
将里面包含的SilverlightTestProject_CSharp.zip和SilverlightTestProject_VB.zip文件拷贝到(不要再把上述两个.zip文件解压了,不然VS不认)。
%userprofile%\Documents\Visual Studio 2008\Templates\ProjectTemplates
再将SilverlightTestClass_CSharp.zip以及SilverlightTestClass_VB.zip文件拷贝到:
%userprofile%\Documents\Visual Studio 2008\Templates\ItemTemplates
启动VS2008:
看一下项目文件:
添加一下缺少的DLL引用。
配置成功!
浅析框架
这里项目里只有两个文件,让我们来看看
App.xaml.cs
private void Application_Startup(object sender, StartupEventArgs e) { this.RootVisual = UnitTestSystem.CreateTestPage(); } |
其中UnitTestSystem是Microsoft.Silverlight.Testing命名空间下的一个类,而CreateTestPage()方法将返回一个UIElement。
Test.cs
很简单就是在里边写测试方法的。
[TestMethod] public void TestMethod() { Assert.Inconclusive(); } |
改为[TestMethod] public void TestMethod() { Assert.IsTrue(true); } |
F5运行。
测试自己的Silverlight项目
新建一个Silverlight项目:
给MainPage.xaml做简单的修改:
public partial class MainPage : UserControl { private string _author; public string Author { get; set; }
public MainPage() { InitializeComponent(); } } |
单元测试中添加对其的引用,并可新建立一个class来对其做测试:
编写测试方法:
[TestClass] public class MyTest { //[TestMethod] //[ExpectedException(typeof(NullReferenceException))] //public void NullInstance() { // MainPage mainpage = null; // string author = mainpage.Author; //}
[TestMethod] [Description("测试用户名")] public void VerifyAuthor() { MainPage page = new MainPage(); page.Author = "nasa"; Assert.IsNotNull(page.Author); Assert.AreEqual(page.Author, "nasa"); } } |
F5运行:
也可点击单个的方法查看详情:
大家可以直接将自己的sl项目附加进来进行测试,当然在实际的项目中不会这么简单。
总结
使用TDD单元测试框架为Silverlight带来了一个更好的测试方案,你不用再一点一点的设置断点跟着程序跑。
能充分的进行单元测试,是提高软件质量,降低开发成本的必由之路。如果养成了对自己写的代码进行单元测试的习惯,不但可以写出高质量的代码,而且还能提高编程水平。
推荐阅读:
JavaFX,Flex和Silverlight横向对比
Silverlight 2单元测试框架
在Silverlight中做单元测试
收藏
举报
TAG:
WP7