Actualmente estoy buscando mover un paso en una tubería de usar VSTest @ 2 para usar la prueba dotnet en su lugar. He leído que puede configurar la prueba dotnet utilizando un archivo .runsettings. Sin embargo, parece que hay configuraciones disponibles en VSTest @ 2 que no puedo encontrar la configuración correspondiente para la prueba dotnet.

Uno de ellos es minimumExpectedTests, que fallará el paso si cae por debajo de un número determinado de pruebas. ¿Se puede hacer esto con la prueba 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'
0
IanSoc 14 jul. 2020 a las 15:46

2 respuestas

La mejor respuesta

Hasta donde sé, algunos parámetros de vstest actualmente solo se admiten en vstest @ 2 . (por ejemplo, minimalExpectedTests, uiTests).

Para la prueba Dotnet, los argumentos son compatibles con los siguientes parámetros:

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

Puede agregar estos parámetros para aumentar la función de prueba dotnet.

Pero algunos de los parámetros de Vstest @ 2 no son compatibles con esta tarea. Y parece que no hay una solución alternativa para satisfacer sus necesidades.

Esta característica de hecho podría tener sentido. Puede enviar un ticket de sugerencia sobre esta función en nuestro sitio web UserVoice.

enter image description here

0
Kevin Lu-MSFT 16 jul. 2020 a las 09:14

No creo que haya un argumento equivalente en la tarea DotNetCoreCLI @ 2. Dado que DotNetCoreCLI @ 2 es genérico, puede ejecutar cualquier cantidad de opciones de comando dotnet válidas.

Ver este enlace: https: //docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops

0
ovation22 14 jul. 2020 a las 17:37