4

我在 Visual Studio 2015 中添加了一个单元测试应用程序(通用 Windows)项目。它在 IDE 的测试资源管理器中正确发现并运行所有测试用例。但是从命令行运行 MSTest.exe 时,它​​会给出消息“没有要执行的测试”。执行的命令是

MSTest.exe /testcontainer:"F:\Projects\MyUnitTests\bin\Release\MyUnitTests.exe" /resultsfile:F:\testResults.trx

使用此处建议的“vstest.console.exe”时的结果相同。

此外,大多数在线示例都为 mstest 提供了一个 dll。但是在 vs2015 的输出中没有创建 dll。需要通过 jenkins 中的脚本执行此操作。有没有其他人遇到过这个问题?

4

1 回答 1

0

当您针对 exe 运行时,您应该会收到与此类似的警告,它会为您提供一些提示:

警告:Windows 应用商店和 Windows Phone 应用的单元测试不能在应用容器之外运行。创建应用包并在应用容器模式下运行测试。 http://go.microsoft.com/fwlink/?LinkId=254169

为了使用通用测试项目,您需要创建一个应用程序包,然后针对它运行测试。要创建捆绑包,请右键单击您的项目并选择Store=>Create App Packages.

您将创建一个本地应用程序包,因此您可以选择No提示上传到 Windows 商店。

接下来会提示填写输出位置、版本、...

在此屏幕上,确保选择NeverGenerate app bundle选项。

单击创建后,将命令行打开到创建应用程序包的位置。您还必须安装证书。您可以使用以下命令从命令行执行此操作certutil

certutil -addstore "Root" .\UnitTestProjectName_1.0.0.0_x86_Debug.cer

最后,现在您可以使用vstest.console.exe命令行对应用程序包运行测试:

vstest.console.exe .\UnitTestProjectName_1.0.0.0_x86_Debug.appx /InIsolation

Microsoft的这篇博文包含更多信息和一些其他故障排除提示。尽管这篇博文被标记为 VS11 的测试版,但似乎大部分内容仍然适用。

于 2016-03-22T22:30:03.067 回答