vstest.console.exe多次运行相同的测试

时间:2016-04-01 00:31:14

标签: unit-testing vstest vstest.console.exe

这是我用来从指定库

运行所有NUnit测试的命令

vstest.console.exe "PATH_TO_REPOSITORY\Tests\terminalBaseTests\bin\debug\terminalBaseTests.dll" /logger:trx /TestAdapterPath:"PATH_TO_REPOSITORY"

这个dll包含27个测试,但是我看到他们出于某种原因启动了3次,结果消息说81个测试通过了

1 个答案:

答案 0 :(得分:3)

Demarch在评论中提供了正确的答案,为了提高知名度,每当其他人绊倒这个问题时,我会在这里说明(我花了太长时间才弄明白):

<强>症状:
当使用NUnit,Xunit或其他testrunner而不是本机测试程序时,VSTest.Console.exe运行测试两次甚至多次。

<强>原因:
TestAdapter的路径不正确(例如$ to(Build.SourcesDirectory))set或not present。这是让跑步者扫描测试适配器的所有文件夹。当存在多个时,所有 testadapters将启动testrun,导致所有测试多次运行。

<强>解决方案: 将testadapter的路径重定向到包所在的文件夹。

  • 如果从命令行运行,请将VSTest.Console.exe的以下参数设置为以下内容:/TestAdapterPath:"{solutionfolder}\packages"
  • 如果在TFS中运行它,请打开Visual Studio Test构建步骤的“高级执行选项”部分,并将以下参数设置为:$(Build.SourcesDirectory)\packages
相关问题