正在运行wp7应用程序的测试



我想为我的windowsphone 7应用程序运行单元和集成测试。但是jeff wilcox提供的库和http://smartypantscoding.com/a-cheat-sheet-for-unit-testing-silverlight-apps-on-windows-phone-7运行模拟器。

但我想以与任何windows应用程序运行相同的方式运行单个测试,例如右键单击测试类中的单个测试。。此外,如果soemone希望在不调用sdk的情况下通过命令行运行测试。

但目前可用的单元测试框架是通过模拟器运行的。

通过很好地分离关注点和一些限制,您可以使用Silverlight运行时执行测试。一旦配置好,您就可以在VS和Statlight中使用ReSharper+AgUnit或TestDriven.net从命令行运行测试。

你可以在我写的一篇博客文章中阅读有关设置说明,但为了保留SO的信息,我将在这里总结:

  • Silverlight(非WP)工具包中的Reference Microsoft.Silverlight.TestingMicrosoft.VisualStudio.QualityTools.UnitTesting.Silverlight
  • 引用%programfiles%Reference AssembliesMicrosoftFrameworkSilverlightv4.0ProfileWindowsPhone71中的程序集并将Copy Local设置为true

限制包括:

  • 测试的程序集不能引用特定于手机的程序集或类型(如Microsoft.Phone.*
  • 一些共享API实际上是不同的

如果你能处理所有这些(我还没有决定是否值得),它可以提供一个非常快速的测试周期,并且模拟器内的测试仍然可以针对任何超出限制的东西运行。

我们真正需要的是支持快速无头模式(在模拟器测试中更兼容)和某种Gallio适配器的模拟器。

您必须通过模拟器运行单元测试。故事结束了。

您可以在手机上运行Silverlight单元测试应用程序,但如果您有WP7.5"Mango",请确保首先从Jeff Wilcox的博客中获得与Mango兼容的二进制文件。

要运行单独的测试,请使用"测试标记"功能:在TestClass或TestMethod级别向要运行[Tag("MyTag")]的测试添加标记。然后在测试应用程序启动屏幕上的文本框中键入匹配的标签。

这是我发现的重新运行测试以快速验证修复的最佳方法。我通常会保留一个简短的标记用于调试(例如"e"),以便快速键入。

最新更新