在Silverlight中做单元测试
2008-10-11 11:42:05 来源:WEB开发网我们在Silverlight 2 Beta1 版本中发布的一个重要的功能是允许你进行API层次和界面层次单元测试的单元测试用具(unit test harness)。这个测试用具是跨浏览器和跨平台的,可以用来快速运行和核实自动化的单元测试:
除了发布Silverlight的这个单元测试用具外,我们还发布了用它建造的,对在Permissive License许可下发布的Silverlight控件源代码提供了自动化测试涵盖的2千个左右单元测试的源码。这个许可允许你将控件的源码进行修改,运行单元测试核实其行为,并且以任何形式重新发布这些控件。
学习如何单元测试Silverlight
Jeff Wilcox,Silverlight单元测试框架和用具的开发者,在这里发表了一篇精彩的博客贴子,讨论如何在解决方案中加一个Silverlight Unit Test项目。你可以从我上个月撰写的这篇Expression Blend教程贴子上下载他用来示范测试的聊天应用。你也可以观看Jeff录制的这个很酷的录像贴子,在其中他对该单元测试框架和我们发布的测试案例做了示范。
就象Jeff在他的贴子里展示的那样,你现在可以往你的Visual Studio解决方案中加一个“Silverlight测试项目”,该项目封装针对你正开发的应用的单元测试:
然后你可以往测试项目中添加单元测试类,来测试API或模拟Silverlight控件中的界面动作(例如模拟按钮点击等)。
然后你可以运行测试项目,执行其中的测试,来核实和汇报它们的状态。
Jeff的测试框架自动地提供基于浏览器的测试用具和报告系统(意味着你可以在任何能运行Silverlight的浏览器或OS组合上运行它):
Jeff的测试框架支持在每个测试后快速重置控件(以及避免对每个测试案例重启新的浏览器实例,这使得测试非常快)。
你可以在几秒钟内很快地突过成百上千个自动化的测试:
绿的结果意味着测试都通过了。红的结果表示某个测试案例失败了,同时记录断言失败(assertion failure)以及出现的运行时异常。
结语
如果你曾有困难采取策略对AJAX应用进行自动化的单元测试或TDD的话,我认为你会发现Silverlight提供了一些极棒的测试选项。使用Visual Studio,你还可以将测试分离到你的解决方案的另外的项目中去,你不需要在你的Silverlight应用嵌入测试就可以运行它们。
除了支持上述的单元测试用具和框架外,我们还将在Silverlight 2的最终版中支持UI自动化APIs。这些API将促成accessibility的场景(允许屏幕阅读器可以用于Silverlight,以及促成Silverlight应用对Section 508的相容性)。这些UI自动化API还将促成这样的UI测试场景,你可以建造end to end的浏览器界面自动化,来模拟真正的鼠标和键盘交互,促成自动化的end to end体验的测试。这些组合应该允许你建造极其坚固和可维护的RIA方案。
希望本文对你有所帮助,
Tags:Silverlight 单元
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››单元格被选中就触发宏的运行的实现方法
- ››Silverlight MVVM 模式(一) 切近实战
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››Silverlight3系列(四)数据绑定 Data Binding 1
- ››silverlight2 游戏 1 你能坚持多少秒
- ››Silverlight开发实践--PicZoomShow
- ››Silverlight自定义控件开发 - 令人懊恼的OnApplyT...
更多精彩
赞助商链接