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ãoFramework40
,Framework45
,FrameworkCore10
eFrameworkUap10
.--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. SeLogFileName
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
eARM
.--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 comoDisplayName
. 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