Silverlight单元测试框架

Silverlight单元测试框架
 
微软的silverlight单元测试框架现在已经托管到了MSDN Code Gallery网站上,你可以在上边找到最新的Release版本和一些最新的资料。
 
每当一个开发人员尝试过了测试驱动开发(TDD)就会十分的欣赏这个方式。接下来我将介绍一下如何使用来使用这个框架。
 
开始单元测试项目
配置环境

1.下载Silverlight Unit Test VS模板
2.下载Silverlight Unit Test Framework Binaries库

 
解压
File?id=df5kjk97_876cdwh5wcv_b
File?id=df5kjk97_877cn6r2shb_b

 

将里面包含的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
File?id=df5kjk97_878gpjhgkdt_b
 
看一下项目文件
File?id=df5kjk97_879f6wwmvcf_b
添加一下缺少的DLL引用
 
配置成功!
 
浅析框架

这里项目里只有两个文件,让我们来看看
App.xaml.cs
 
   
private void Application_Startup( object sender, StartupEventArgs e)
{
this .RootVisual = UnitTestSystem.CreateTestPage();
}

其中UnitTestSystem是Microsoft.Silverlight.Testing命名空间下的一个类,而CreateTestPage()方法将返回一个UIElement。

File?id=df5kjk97_880g7dd9bpq_b

Test.cs
很简单就是在里边写测试方法的。
 
   
[TestMethod]
public void TestMethod()
{
Assert.Inconclusive();
}

 


改为
 
 
   
[TestMethod]
 public void TestMethod()
{
Assert.IsTrue(
true );
}

 

 
F5运行
File?id=df5kjk97_881gsjd4ffc_b
 
测试自己的Silverlight项目
新建一个Silverlight项目
File?id=df5kjk97_882gg42q9dd_b
给MainPage.xaml做简单的修改
ContractedBlock.gif ExpandedBlockStart.gif 代码
 
    
public partial class MainPage : UserControl
{
private string _author;
public string Author { get ; set ; }

public MainPage()
{
InitializeComponent();
}
}

 

单元测试中添加对其的引用,并可新建立一个class来对其做测试
File?id=df5kjk97_884htzj99gn_b
编写测试方法
ContractedBlock.gif ExpandedBlockStart.gif 代码
 
    
[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运行
File?id=df5kjk97_885hs6d2rfn_b
也可点击单个的方法查看详情
File?id=df5kjk97_886gcsm73f6_b

 

大家可以直接将自己的sl项目附加进来进行测试,当然在实际的项目中不会这么简单。
 
总结
使用TDD单元测试框架为Silverlight带来了一个更好的测试方案,你不用再一点一点的设置断点跟着程序跑。 
能充分的进行单元测试,是提高软件质量,降低开发成本的必由之路。如果养成了对自己写的代码进行单元测试的习惯,不但可以写出高质量的代码,而且还能提高编程水平。
 
附录

 
参考资料

作者:Nasa 
文章出处:我和未来有约会 (http://nasa.cnblogs.com/
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。

转载于:https://www.cnblogs.com/nasa/archive/2010/01/08/silverlight-unit-testing.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值