【发布时间】:2020-02-03 17:53:56
【问题描述】:
我正在尝试在 Windows VM 上运行所有包含的 exe(使用 Costura 创建)。根据this SO question 中的回答,我已经安装了测试代理和构建工具,并尝试通过此命令运行 exe
C:\Users\..\Desktop>"C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" MyExeName.exe /Tests: MyTestName
在 VM 上,我启动代理并发出上述命令,但收到错误 No test is available in C:\Users\..\Desktop\MyExeName.exe. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
exe 在本地机器上运行良好,使用相同的命令并开始测试。在本地,我有 VS2019 和所有代码。在 VM 上,我不能将 VS 和代码库作为要求。
编辑:
我注意到(通过 ILSpy)在引用下的 dot exe 中,没有对此 Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll 的引用,但是 dll 存在于资源中。
【问题讨论】:
-
有人问这个吗?
-
您可以使用 /ListDiscoverers 和 /ListExecutors 参数来查找 VM 上的测试发现者和执行者。只是为了排除一些事情。 docs.microsoft.com/en-us/visualstudio/test/…
-
@Kevin 当我运行它时,我没有看到
Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter包,但是我看到了Default Executor Uri: executor://mstestadapter/v1但为此列出的包不同Microsoft.VisualStudio.TestPlatform.Extensions.VSTestIntegration.MSTestDiscoverer -
所以看来对
Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter的引用确实是没有发现测试的问题。在创建 exe 时如何包含该引用而不破坏它,知道吗? -
尝试将MSTest.TestAdapter添加为包nuget.org/packages/MSTest.TestAdapter