dotnet vstest

Este artigo se aplica a: ✔️ SDK do .NET Core 3.1 e versões posteriores

Importante

O comando dotnet vstest é substituído por dotnet test, que agora pode ser usado para executar assemblies. Consulte teste dotnet.

Nome

dotnet vstest: executa testes dos assemblies especificados.

Sinopse

dotnet vstest [<TEST_FILE_NAMES>] [--Blame] [--Diag <PATH_TO_LOG_FILE>]
    [--Framework <FRAMEWORK>] [--InIsolation] [-lt|--ListTests <FILE_NAME>]
    [--logger <LOGGER_URI/FRIENDLY_NAME>] [--Parallel]
    [--ParentProcessId <PROCESS_ID>] [--Platform] <PLATFORM_TYPE>
    [--Port <PORT>] [--ResultsDirectory<PATH>] [--Settings <SETTINGS_FILE>]
    [--TestAdapterPath <PATH>] [--TestCaseFilter <EXPRESSION>]
    [--Tests <TEST_NAMES>] [[--] <args>...]]

dotnet vstest -?|--Help

Descrição

O comando dotnet vstest executa o aplicativo de linha de comando VSTest.Console para executar testes automatizados de unidade.

Argumentos

  • TEST_FILE_NAMES

    Execute testes a partir de assemblies especificados. Separe vários nomes de assembly de teste com espaços. Há suporte para caracteres curinga.

Opções

  • --Blame

    Executa os testes no modo blame. Essa opção é útil para isolar os testes problemáticos que causam uma falha do host de teste. Ela cria um arquivo de saída no diretório atual como Sequence.xml que captura a ordem de execução dos testes antes da falha.

  • --Diag <PATH_TO_LOG_FILE>

    Permite logs detalhados na plataforma de teste. Os logs são gravados no arquivo fornecido.

  • --Framework <FRAMEWORK>

    Versão do .NET Framework de destino usada na execução de teste. Alguns exemplos de valores válidos são .NETFramework,Version=v4.6 ou .NETCoreApp,Version=v1.0. Outros valores com suporte são Framework40, Framework45, FrameworkCore10 e FrameworkUap10.

  • --InIsolation

    Executa os testes em um processo isolado. Isso torna o processo vstest.console.exe menos suscetível a ser interrompido por engano nos testes. Entretanto, os testes podem ser executados de forma mais lenta.

  • -lt|--ListTests <FILE_NAME>

    Lista todos os testes descobertos do contêiner de teste fornecido.

  • --logger <LOGGER_URI/FRIENDLY_NAME>

    Especificar um agente para resultados do teste.

    • Para publicar resultados do teste no Team Foundation Server, use o provedor de agente TfsPublisher:

      /logger:TfsPublisher;
          Collection=<team project collection url>;
          BuildName=<build name>;
          TeamProject=<team project name>
          [;Platform=<Defaults to "Any CPU">]
          [;Flavor=<Defaults to "Debug">]
          [;RunTitle=<title>]
      
    • Para registrar os resultados em um arquivo TRX (Resultados do teste) do Visual Studio, use o provedor de agente trx. Essa opção cria um arquivo no diretório dos resultados do teste com o nome de arquivo de log determinado. Se LogFileName não for fornecido, será criado um nome de arquivo exclusivo para armazenar os resultados do teste.

      /logger:trx [;LogFileName=<Defaults to unique file name>]
      
  • --Parallel

    Execute testes em paralelo. Por padrão, todos os núcleos disponíveis no computador estão disponíveis para uso. Especifique um número explícito de núcleos definindo a propriedade MaxCpuCount no nó RunConfiguration no arquivo runsettings.

  • --ParentProcessId <PROCESS_ID>

    ID do processo pai responsável por iniciar o processo atual.

  • --Platform <PLATFORM_TYPE>

    Arquitetura da plataforma de destino usada para a execução de teste. Os valores válidos são x86, x64 e ARM.

  • --Port <PORT>

    Especifica a porta para a conexão de soquete e recebimento das mensagens do evento.

  • --ResultsDirectory:<PATH>

    O diretório de resultados de teste será criado no caminho especificado, se não existir.

  • --Settings <SETTINGS_FILE>

    Configurações para usar ao executar testes.

  • --TestAdapterPath <PATH>

    Use adaptadores de teste personalizados para um determinado caminho (se houver) na execução de teste.

  • --TestCaseFilter <EXPRESSION>

    Execute testes que correspondam à expressão fornecida. <EXPRESSION> está no formato <property>Operator<value>[|&<EXPRESSION>], onde Operator pode ser =, != ou ~. O operador ~ tem a semântica 'contains' e é aplicável para propriedades de cadeia de caracteres como DisplayName. Os parênteses () são usados para agrupar subexpressões. Para obter mais informações, consulte Filtro TestCase.

  • --Tests <TEST_NAMES>

    Execute testes com nomes que correspondam aos valores fornecidos. Separar vários valores com vírgulas.

  • -?|--Help

    Imprime uma ajuda breve para o comando.

  • @<file>

    Lê um arquivo de resposta para obter mais opções.

  • args

    Especifica argumentos extras para passar ao adaptador. Os argumentos são especificados como pares de nome-valor no formato <n>=<v>, em que <n> é o nome de argumento e <v> é o valor do argumento. Use um espaço para separar vários argumentos.

Exemplos

Executar testes no mytestproject.dll:

dotnet vstest mytestproject.dll

Execute testes em mytestproject.dll, exportando para uma pasta personalizada com nome personalizado:

dotnet vstest mytestproject.dll --logger:"trx;LogFileName=custom_file_name.trx" --ResultsDirectory:custom/file/path

Executar testes em mytestproject.dll e myothertestproject.exe:

dotnet vstest mytestproject.dll myothertestproject.exe

Execute testes TestMethod1:

dotnet vstest /Tests:TestMethod1

Execute testes TestMethod1 e TestMethod2:

dotnet vstest /Tests:TestMethod1,TestMethod2

Confira também