【问题标题】:vstest.console.exe runs same tests multiple timesvstest.console.exe 多次运行相同的测试
【发布时间】:2016-07-20 15:44:47
【问题描述】:

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

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

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

【问题讨论】:

  • 你解决过这个问题吗?我在 TFS 2015 的新构建系统中遇到了与 xUnit 相同的问题
  • 是的。在我的情况下,这是由于没有指定测试适配器的路径,因此 VS 尝试扫描在构建期间生成的所有 dll,并且不止一次发现了一个包含测试适配器的 dll。解决方法是将测试适配器的路径设置到一个特定的 dll 位置

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


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-23
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 2013-06-13
    • 2021-01-30
    • 1970-01-01
    相关资源
    最近更新 更多