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



这是我用来从指定的库运行所有NUnit测试的命令

vstest.console.exe "PATH_TO_REPOSITORYTeststerminalBaseTestsbindebugterminalBaseTests.dll" /logger:trx /TestAdapterPath:"PATH_TO_REPOSITORY"

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

Demarch在评论中提供了正确的答案,以提高可见性,每当其他人偶然发现这个问题时,我都会在这里说明(我花了很长时间才弄清楚):

症状:
当使用NUnit、Xuit或其他testrunner时,VSTest.Console.exe会运行两次甚至多次测试。

原因:
TestAdapter的路径未正确设置(例如设置为$(Build.SourcesDirectory))或不存在。这允许运行程序扫描所有文件夹中的测试适配器。当存在多个测试时,所有测试适配器将启动一个测试运行,导致所有测试运行多次。

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

  • 如果从命令行运行,请将VSTest.Console.exe的以下参数设置为类似的值:/TestAdapterPath:"{solutionfolder}packages"
  • 如果您在TFS中运行它,请打开Visual Studio测试构建步骤的"高级执行选项"部分,并将以下参数设置为类似的值:$(Build.SourcesDirectory)packages

相关内容

  • 没有找到相关文章

最新更新