这是我用来从指定库
运行所有NUnit测试的命令 vstest.console.exe "PATH_TO_REPOSITORY\Tests\terminalBaseTests\bin\debug\terminalBaseTests.dll" /logger:trx /TestAdapterPath:"PATH_TO_REPOSITORY"
这个dll包含27个测试,但是我看到他们出于某种原因启动了3次,结果消息说81个测试通过了
答案 0 :(得分:3)
Demarch在评论中提供了正确的答案,为了提高知名度,每当其他人绊倒这个问题时,我会在这里说明(我花了太长时间才弄明白):
<强>症状:强>
当使用NUnit,Xunit或其他testrunner而不是本机测试程序时,VSTest.Console.exe运行测试两次甚至多次。
<强>原因:强>
TestAdapter的路径不正确(例如$ to(Build.SourcesDirectory))set或not present。这是让跑步者扫描测试适配器的所有文件夹。当存在多个时,所有 testadapters将启动testrun,导致所有测试多次运行。
<强>解决方案:强> 将testadapter的路径重定向到包所在的文件夹。
/TestAdapterPath:"{solutionfolder}\packages"
$(Build.SourcesDirectory)\packages