目前在CruiseControl.NET中自动化运行单元测试的silverlight应用程序的最佳解决方案是什么?
不过,我更希望运行MSTest单元测试,因为silverlight还没有正式支持这些测试,但我对使用其他测试框架的建议持开放态度。
发布于 2010-01-19 23:41:31
11月版本的Silverlight Toolkit不仅包含Silverlight单元测试框架,还包含一个允许框架从命令行运行的MSBuild任务。有关详细信息,请参阅Jeff Wilcox's post,但实际上您最终会这样做:
msbuild /t:test /p:browser=firefox由于CC.Net可以运行MSBuild,因此您至少应该能够调用测试。输出为TRX格式。
我使用这个框架取得了一些成功,虽然没有集成到CC.Net中,但它工作得很好,但是测试在浏览器中运行,所以有点慢。在浏览器中运行的好处是您可以执行更多类似验收的测试,运行要显示的控件。该框架还包括处理Silverlight异步特性的方法。
发布于 2010-01-19 23:43:20
我一直有这个问题,目前还没有官方支持的方法来做这些单元测试。主要的问题是Silverlight单元测试框架不支持插入MSTest,因此不能真正集成到任何CI中。然而,有一种方法可以使用Powerhell来解决这个问题--参见here。
我个人认为,将这些测试插入CI中,并且暂时只在我的本地计算机上运行它们,这是相当麻烦的。
更新:正如jbloomer所写的,关于如何为Silverlight单元测试框架设置MSBuild任务,有一个演练可用on Jeff Wilcox's blog。我建议选择这样的方式:一旦设置好MSBuild,将它插入到CruiseControl.NET中应该没有问题。
发布于 2011-03-31 17:36:40
要在CCNet或TeamCity中从命令行运行Silverlight单元测试,您可以使用Lighthouse Unit Test Runner:
http://lighthouse.codeplex.com/
它适用于任何构建服务器,因为它运行单元测试并生成与NUnit兼容的xml结果文件,因此您可以像运行NUnit控制台运行器一样运行它。
https://stackoverflow.com/questions/2094633
复制相似问题