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

vstest.console.exe runs same tests multiple times

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

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

此 dll 包含 27 个测试,但我看到它们出于某种原因启动了 3 次,结果消息显示已通过 81 个测试

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

症状:
VSTest.Console.exe 运行当使用 NUnit、Xunit 或其他测试时 运行ning 测试两次甚至多次 运行ner。

原因:
TestAdapter 的路径设置不正确(例如 $(Build.SourcesDirectory) )或不存在。这让 运行ner 扫描所有文件夹以查找测试适配器。当存在多个时,所有 测试适配器将开始测试运行 导致所有测试运行 多次。

解法: 将测试适配器的路径重定向到您的包所在的文件夹。

  • 如果您从命令行 运行 将 VSTest.Console.exe 的以下参数设置为如下所示:/TestAdapterPath:"{solutionfolder}\packages"
  • 如果您在 TFS 中 运行 它,请打开 Visual Studio 测试构建步骤的 "Advanced Executions Options" 部分并将以下参数设置为如下所示:$(Build.SourcesDirectory)\packages