【问题标题】:How to run VSTest.Console a dynamic number of projects?如何运行 VSTest.Console 动态数量的项目?
【发布时间】:2020-12-26 22:20:44
【问题描述】:

为了在 Azure DevOps(之前在 Jenkins)上设置我们的 CI/CD 管道,我正在尝试在我的解决方案中执行所有测试(NUnits)。

目前,命令行是:

vstest.console.exe "Solution\MySolution.sln" /Settings:"testSettings.runsettings" /Logger:"trx" /TestAdapterPath:"Solution\packages\NUnit3TestAdapter.3.12.0\build\net35"

以前,我们在 Jenkins 上执行此操作:

nunit3-console.exe Solution\MySolution.sln --config=Debug --agents=1 --result=TestResult.xml;format=nunit2 --timeout=900000 --workers=1

哪个有效,并且能够找到所有测试。但我认为 Azure DevOps 不支持它。 现在,我正在查看文档:https://docs.microsoft.com/en-us/visualstudio/test/vstest-console-options?view=vs-2017#general-command-line-options

但我只能找到一种列出所有测试 DLL 的方法。我不认为这是可以接受的,因为:

  1. 如果有人添加了新的测试程序集,我认为这并不可靠, 重命名一个,......我们将没有这些测试的测试结果 这很容易被忽视(我们已经有了更多 超过 9000 次测试)
  2. 这里要指定很多DLL,一定有更聪明的办法吗?

所以我的问题是有没有办法执行解决方案中存在的所有测试? 如果没有,是否至少可以使用某种模式?赞*.Test.dll

【问题讨论】:

  • Visual Studio 测试任务是否适合您?

标签: azure-devops nunit devops nunit-3.0 vstest


【解决方案1】:

您可以使用Visual Studio Test task 代替命令行来运行 NUnit 测试。使用此任务使用 Visual Studio 测试运行程序运行单元和功能测试(Selenium、Appium、编码的 UI 测试等)。除了基于 MSTest 的测试之外,还可以执行具有 Visual Studio 测试适配器的测试框架,例如 xUnit、NUnit、Chutzpah。

测试文件支持多行minimatch patterns:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-25
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    相关资源
    最近更新 更多