相当于 minimumExpectedTests 的 dotnet 测试

dotnet test equivalent of minimumExpectedTests

我目前希望将管道中的一个步骤从使用 VSTest@2 改为使用 dotnet 测试。我读过您可以使用 .runsettings 文件配置 dotnet 测试。然而,VSTest@2 中似乎有可用的设置,我找不到相应的 dotnet 测试设置。

其中之一是 minimumExpectedTests,如果低于给定的测试数量,该步骤将失败。这可以通过 dotnet 测试来完成吗?

# Existing step
- task: VSTest@2
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: bin\Release\**\Foo.*.Tests.dll
    searchFolder: '$(System.DefaultWorkingDirectory)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
    # Should fail if 500 tests are not run
    failOnMinTestsNotRun: true
    minimumExpectedTests: '500'

# New step
- task: DotNetCoreCLI@2
  inputs:
    command: 'test'
    projects: **\bin\Release\**\Foo.*.Tests.dll
    publishTestResults: false
    arguments: '--v normal -s test.runsettings'
    testRunTitle: 'Run Tests'

我认为 DotNetCoreCLI@2 任务中没有等效的参数。由于 DotNetCoreCLI@2 是通用的,因此您可以执行任意数量的有效 dotnet 命令选项。

看到这个link: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops

据我所知,目前只有vstest@2支持vstest的部分参数。 (例如 minimumExpectedTests、uiTests)。

对于Dotnet测试,参数支持如下parameters:

dotnet test [<PROJECT> | <SOLUTION> | <DIRECTORY> | <DLL>]
    [-a|--test-adapter-path <PATH_TO_ADAPTER>] [--blame]
    [-c|--configuration <CONFIGURATION>]
    [--collect <DATA_COLLECTOR_FRIENDLY_NAME>]
    [-d|--diag <PATH_TO_DIAGNOSTICS_FILE>] [-f|--framework <FRAMEWORK>]
    [--filter <EXPRESSION>] [--interactive]
    [-l|--logger <LOGGER_URI/FRIENDLY_NAME>] [--no-build]
    [--nologo] [--no-restore] [-o|--output <OUTPUT_DIRECTORY>]
    [-r|--results-directory <PATH>] [--runtime <RUNTIME_IDENTIFIER>]
    [-s|--settings <SETTINGS_FILE>] [-t|--list-tests]
    [-v|--verbosity <LEVEL>] [[--] <RunSettings arguments>]

dotnet test -h|--help

可以添加这些参数来增加dotnet测试的功能

但此任务不支持某些 Vstest@2 参数。而且似乎没有解决方法可以满足您的需求。

这个功能确实很有意义。您可以在 our UserVoice website.

中提交有关此功能的建议票