我想为我的Windows Phone 7应用程序运行单元和集成测试。但是由jeff wilcox提供的库和http://smartypantscoding.com/a-cheat-sheet-for-unit-testing-silverlight-apps-on-windows-phone-7的代码通过模拟器运行。
但是我希望以与运行任何Windows应用程序相同的方式运行单独的测试,例如通过右键单击测试类中的各个测试..如果soemone想要通过命令行运行测试而不调用sdk。
但目前可用的单元测试框架是通过模拟器运行的。
答案 0 :(得分:2)
通过一些良好的关注点分离和一些限制,您可以使用Silverlight运行时执行测试。配置完成后,您可以使用VS中的ReSharper + AgUnit或TestDriven.net以及命令行中的Statlight来运行测试。
您可以在blog post I wrote up上阅读有关设置说明的信息,但为了保留有关SO的信息,我将在此总结:
Reference Microsoft.Silverlight.Testing
和Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight
%programfiles%\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone71
引用程序集并将Copy Local
设置为true
限制包括:
Microsoft.Phone.*
)如果你可以处理所有这些(我还没有决定它是否值得)它可以提供一个非常快速的测试周期,并且仍然可以针对超出限制的任何事情运行模拟器内测试。 / p>
我们真正需要的是支持快速无头模式的模拟器(模拟器间测试更兼容)和某种Gallio适配器。
答案 1 :(得分:1)
您必须通过模拟器运行单元测试。故事结束。
答案 2 :(得分:0)
您可以在手机上运行Silverlight单元测试应用,但如果您有WP7.5“芒果”,请确保get the Mango compatible binaries first from Jeff Wilcox's blog。
要运行单个测试,请使用“测试标记”功能:在TestClass或TestMethod级别为要运行[Tag("MyTag")]
的测试添加标记。然后在测试应用的启动屏幕上的文本框中键入匹配的标记。
这是我发现重新运行测试以快速验证您已获得的修复的最佳方式。我通常会为调试保留一个短标签(例如“e”),因此可以快速输入。