首页 文章

MSTest.exe通过cmd找不到测试用例,但在VS2015 IDE中工作正常

提问于
浏览
3

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

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

使用'vstest.console.exe'时的结果相同here .

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

1 回答

  • 0

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

    警告:Windows应用商店和Windows Phone应用的单元测试无法在appcontainer外部运行 . 创建应用程序包并以appcontainer模式运行测试 . http://go.microsoft.com/fwlink/?LinkId=254169

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

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

    接下来,系统将提示您填写输出位置,版本,......

    在此屏幕上,确保为 Generate app bundle 选项选择 Never .

    单击“创建”后,将命令行打开到创建应用程序包的位置 . 您还必须安装证书 . 您可以使用 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的This blog post有更多信息和一些其他疑难解答提示 . 即使博客文章标记为VS11的测试版,似乎大多数仍然适用 .

相关问题