我正在尝试在 Windows VM 上运行所有包含的 exe(使用 Costura 创建)。根据中的答案这个问题 https://stackoverflow.com/questions/3402899/can-i-use-mstest-exe-without-installing-visual-studio,我已经安装了测试代理和构建工具并尝试通过此命令运行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
在虚拟机上,我启动代理并给出上述命令,但收到错误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和代码库作为要求。
EDIT:我注意到(通过ILSpy)在引用下的点exe中,没有对此的引用Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll
, 但是,那dll
存在于资源中。
我可以重现此错误...我对我的 csproj 文件做了一些实验,结果发现您必须在控制台 csproj 文件中添加一个 Import 标记。这与您的测试代理或测试类无关。
检查你的package.config(ps。这是2019年,所以检查你的版本)必须添加MSTest.TestAdapter。
<package id="MSTest.TestAdapter" version="1.3.2" targetFramework="net48" />
其次,将 Import 标签添加到您的 csproj 文件中。 (并再次检查您的版本)
<Import Project="..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props')" />
导入此项目时,还会将更多项目添加到您的项目中。
这导致了这个输出
请参阅下面的测试用例 1(不工作)和 2(工作)的屏幕截图
Test 1:
Test 2:
我希望这对你有用!
Solution and project:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)