2

由于无头运行 Metro 应用程序仍然是一个灰色地带:无头运行 Metro 应用程序,我最近决定将本机单元测试项目添加到我的 Windows Metro 应用程序中,希望我能找到一种方法来自动运行这些单元测试构建服务器上的时尚。基本上,我正在寻找类似于 MSTest.exe 的东西——一个非常适合从批处理文件和/或脚本运行测试的实用程序。

事实上,我已经尝试在生成的测试 .dll 上使用 VS11 附带的新版本 MSTest.exe,但它失败并出现错误:

“无法加载测试容器'test.dll'或其依赖项之一......错误详细信息:无法加载文件或程序集文件://test.dll'或其依赖项之一。模块应包含一个装配清单。”

MSTest.exe 是否适用于包含 WinRT 代码的测试容器?如果没有,是否有一个实用程序可以满足我的需求?


编辑:我刚刚发现 MSTest 不支持在 Metro 风格应用程序上运行测试。在这里找到:http: //msdn.microsoft.com/en-us/library/ms253138%28v=vs.110%29.aspx这真的太糟糕了。我仍然希望那里有一个可以工作的实用程序。

4

3 回答 3

3

盲目地翻遍了VS文件夹后,碰巧在下面找到了一个新的test runner:

C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe

此实用程序允许您从命令行执行 WinRT 单元测试。它与 MSTest.exe 非常相似。

似乎还没有任何文档,但至少存在一个帮助命令。

于 2012-04-18T23:28:56.780 回答
1

如果您正在执行 vstest.console.exe <filename>.dll,那么您的测试不会在 appcontainer 模式下执行。您需要提供 <filename>.appx 以在 appcontainer 模式下执行测试。有关如何从命令行为 Windows Metro 风格应用程序执行测试的更多信息,请参阅从命令行运行 Windows Metro 风格应用程序的单元测试

于 2012-05-06T17:22:13.557 回答
0

有一个关于(除其他外)为 Windows Phone 运行单元测试的文档:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/dn168930 (v=vs.105).aspx

它还描述了使用 vstest.console.exe 执行此操作的命令行方式。

它还比较了 Windows Phone 和 WinRT 的单元测试之间支持的功能。

一个重要的细节是 WinRT 的单元测试不能在设备上运行。这是一个遗憾并且与问题有关如何在 Microsoft Surface 上自动化非交互式测试

于 2014-03-03T14:10:22.510 回答