Windows Phone 7 – Windows Phone的单元测试状态

前端之家收集整理的这篇文章主要介绍了Windows Phone 7 – Windows Phone的单元测试状态前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在推动我的Google Fu到极限,试图找到最适用于Windows Phone应用的TDD CI的建议/稳定设置。任何成功地做到这一点的人都可以指向正确的方向吗?

这是我想要做的(如果可能的话):

>为不需要手机功能的视图模型和应用程序服务编写单元测试
>通过Resharper或TD.NET在Visual Studio中直接执行测试
>使用XML从命令行执行单元测试,而不启动仿真器
>最好是恢复(到第三方库去)SDK更新

由于我想把这个问题作为一个资源给别人寻找同样的事情,所以我希望避免的答案是:

>不完整或被遗弃的项目的开源端口
>仅在某人的博客上可用作附件的项目

我也想获得完整的BDD风格验收测试,但是that’s another issue entirely

我将此答案添加为社区Wiki,以便其他人可以修改它以保持最新。

单元测试

意图:要运行独立(无手机功能),通常来自IDE和Continuous Integration服务器的快速执行测试,无需仿真器(例如,TDD View Models)

我在多个演示文稿中推荐的方法包括在.NET 4项目中引用源文件,并对这些文件运行测试(引用桌面等效的程序集)。如果您的代码不使用与桌面BCL不同的任何API,并且可以处理保持参考项目最新(新文件不会自动添加),而不是足够的。

否则,您可以按照以下步骤执行在桌面CLR中引用WP7程序集的代码

>将Silverlight 4类库(而不是Silverlight for Windows Phone项目)添加到您的解决方案中
>在类库中,将除了mscorelib(基本上是System。*和Microsoft。*)之外的所有框架引用的Copy Local设置为true
>从这个测试库中添加一个引用到NUnit.Silverlight.Framework.dll和NUnit.Silverlight.Compatibility.dll从NUnit-Silverlight project
>将测试库中的引用添加到主Windows Phone项目中,忽略版本警告。
>使用ReSharper(测试)或TestDriven.NET从IDE运行测试
>使用来自latest NUnit release的标准.NET 2.0 nunit-console.exe从命令行运行测试,传入/framework=v4.0。

(由于WP7使用SL3,所以需要上述多种解决方法。一旦芒果与SL4运行时一起发布,它应该是一个更干净的设置)

集成测试

意图:要运行长时间运行的测试,与模拟器上的代码外部资源(如电话功能和Web服务)进行交互,无论是按需还是在CI服务器上

更新单元测试Windows Phone 8应用程序will be official supported in Visual Studio 2012 Update 2包括VS集成和命令行支持。这些测试在模拟器中运行,所以我将它包含在集成测试中。

Silverlight测试框架的WP7端口目前不支持功能(仅作为博客下载)。

在此期间,我创建了一个codeplex project,它添加了一个MSBuild任务,启动模拟器并将结果整理为一个XML文件。最简单的方法是安装wp7-ci NuGet package

注意:在Windows Server requires modifying the installer configuration上安装WP7 SDK,不受支持,但效果很好。

验收/系统测试

意图:要在模拟器上运行端到端的自动化测试,这些测试与手机的UI交互,无论是按需还是在CI服务器

Expensify(SEO命名不佳)Windows Phone Test Framework支持使用SpecFlow从主机PC编写UI自动化测试。

猜你在找的Windows相关文章