2

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

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

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

4

1 回答 1

3

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

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

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

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

  • 如果从命令行运行,请将 VSTest.Console.exe 的以下参数设置为如下所示:/TestAdapterPath:"{solutionfolder}\packages"
  • 如果在 TFS 中运行它,请打开 Visual Studio 测试构建步骤的“高级执行选项”部分,并将以下参数设置为如下所示:$(Build.SourcesDirectory)\packages
于 2017-02-07T07:58:14.517 回答