VSTest.Console.exe opções de linha de comando
VSTest.Console.exe é a ferramenta de linha de comando para executar testes. Você pode especificar várias opções em qualquer ordem na linha de comando. Essas opções estão listadas em opções gerais de linha de comando.
Observação
O adaptador MSTest no Visual Studio também funciona no modo herdado (equivalente à execução de testes com mstest.exe) para compatibilidade. No modo herdado, ele não pode aproveitar o recurso TestCaseFilter. O adaptador pode alternar para o modo herdado quando um arquivo testsettings
Para executar testes automatizados em uma máquina baseada em arquitetura ARM, você deve usar VSTest.Console.exe.
Abra Prompt de Comando do Desenvolvedor usar a ferramenta de linha de comando ou você pode encontrá-la em %Program Files(x86)%\Microsoft Visual Studio\<versão>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft>.
Opções gerais de linha de comando
A tabela a seguir lista todas as opções para VSTest.Console.exe e descrições curtas deles. Você pode ver um resumo semelhante digitando VSTest.Console/?
em uma linha de comando.
Opção | Descrição |
---|---|
[nomes de arquivo de teste] | Execute testes a partir dos arquivos especificados. Separe vários nomes de arquivo de teste com espaços. Exemplos: mytestproject.dll , mytestproject.dll myothertestproject.exe |
/Settings:[nome do arquivo] | Execute testes com configurações adicionais, como coletores de dados. Para obter mais informações, consulte Configurar testes de unidade usando um arquivo .runsettings Exemplo: /Settings:local.runsettings |
/Tests:[nome do teste] | Execute testes com nomes que contenham os valores fornecidos. Este comando corresponde ao nome de teste completo, incluindo o namespace. Para fornecer vários valores, separe-os por vírgulas. Exemplo: /Tests:TestMethod1,testMethod2 A opção de linha de comando /Tests não pode ser usada com a opção de linha de comando /TestCaseFilter. |
/Parallel | Especifica que os testes sejam executados em paralelo. Por padrão, até todos os núcleos disponíveis na máquina podem ser usados. Você pode configurar o número de núcleos a serem usados em um arquivo de configurações. |
/Enablecodecoverage | Habilita o adaptador de diagnóstico de dados CodeCoverage na execução de teste. As configurações padrão são usadas se não forem especificadas usando o arquivo de configurações. |
/InIsolation | Executa os testes em um processo isolado. Esse isolamento torna o processo de vstest.console.exe menos provável de ser interrompido em um erro nos testes, mas os testes podem ser executados mais lentamente. |
/UseVsixExtensions | Essa opção faz com que o processo vstest.console.exe use ou ignore as extensões VSIX instaladas (se houver) na execução de teste. Esta opção foi preterida. A partir da próxima versão principal do Visual Studio, essa opção pode ser removida. Passe para o consumo de extensões disponibilizadas como um pacote NuGet. Exemplo: /UseVsixExtensions:true |
/TestAdapterPath:[caminho] | Força o processo de vstest.console.exe a usar adaptadores de teste personalizados de um caminho especificado (se houver) na execução de teste. Exemplo: /TestAdapterPath:[pathToCustomAdapters] |
/Platform:[tipo de plataforma] | Força a plataforma dada a ser usada, em vez da plataforma determinada a partir do tempo de execução atual. Esta opção é capaz de forçar apenas as plataformas x86 e x64 no Windows. A opção ARM está quebrada e resultará em x64 na maioria dos sistemas. NÃO especifique essa opção para executar em tempos de execução que não estejam na lista de valores válidos, como ARM64. Os valores válidos são x86, x64 e ARM. |
/Framework: [framework version] | Versão .NET de destino a ser usada para execução de teste. Os valores de exemplo são Framework35 , Framework40 , Framework45 , FrameworkUap10 , .NETCoreApp,Version=v1.1 .TargetFrameworkAttribute é usado para detetar automaticamente essa opção do seu assembly e assume como padrão Framework40 quando o atributo não está presente. Você deve especificar essa opção explicitamente se remover o TargetFrameworkAttribute Se a estrutura de destino for especificada como Framework35, os testes serão executados no "modo de compatibilidade" do CLR 4.0. Exemplo: /Framework:framework40 |
/TestCaseFilter:[expression] | Execute testes que correspondam à expressão fornecida. < > de expressão é da propriedade de formato <>=<valor>[|<Expression>]. Exemplo: /TestCaseFilter:"Priority=1" Exemplo: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName" A opção de linha de comando /TestCaseFilter não pode ser usada com a opção de linha de comando /Tests. Para obter informações sobre como criar e usar expressões, consulte filtro TestCase. |
/? | Exibe informações de uso. |
/Logger:[uri/friendlyname] | Especifique um registrador para os resultados do teste. Especifique o parâmetro várias vezes para habilitar vários registradores. Exemplo: Para registrar resultados em um arquivo de resultados de teste do Visual Studio (TRX), use /Logger:trx [; LogFileName=<Padrão para nome de arquivo exclusivo>] |
/ListTests:[nome do arquivo] | Lista os testes descobertos a partir do recipiente de teste fornecido. Nota: A opção /TestCaseFilters não tem efeito ao listar testes; ele apenas controla quais testes são executados. |
/ListDiscoverers | Lista os descobridores de teste instalados. |
/ListExecutors | Lista os executores de teste instalados. |
/ListLoggers | Lista os registradores de teste instalados. |
/ListSettingsProviders | Lista os provedores de configurações de teste instalados. |
/Culpa | Executa os testes no modo de culpa. Essa opção é útil para isolar testes problemáticos que causam falhas no host de teste. Quando uma falha é detetada, ele cria um arquivo de sequência no TestResults/<Guid>/<Guid>_Sequence.xml que captura a ordem dos testes que foram executados antes da falha. Para obter mais informações, consulte coletor de dados Blame. |
/Diag:[nome do arquivo] | Grava logs de rastreamento de diagnóstico no arquivo especificado. |
/ResultsDirectory:[caminho] | O diretório de resultados de teste será criado no caminho especificado, se não existir. Exemplo: /ResultsDirectory:<pathToResultsDirectory> |
/ParentProcessId:[parentProcessId] | ID do processo do processo pai responsável pelo lançamento do processo atual. |
/Port:[port] | A porta para conexão de soquete e recebimento das mensagens de evento. |
/Collect:[dataCollector friendlyName] | Habilita o coletor de dados para a execução de teste. Mais informações. |
Dica
As opções e os valores não diferenciam maiúsculas de minúsculas.
Exemplos
A sintaxe para executar vstest.console.exe é:
vstest.console.exe [TestFileNames] [Options]
Por padrão, o comando retorna 0 quando sai normalmente, mesmo que nenhum teste seja descoberto. Se você quiser retornar um valor diferente de zero se nenhum teste for descoberto, use <TreatNoTestsAsError>true</TreatNoTestsAsError>
opção runsettings.
O comando a seguir é executado vstest.console.exe para a biblioteca de teste myTestProject.dll:
vstest.console.exe myTestProject.dll
O comando a seguir é executado vstest.console.exe com vários arquivos de teste. Separe os nomes dos arquivos de teste com espaços:
vstest.console.exe myTestFile.dll myOtherTestFile.dll
O comando a seguir é executado vstest.console.exe com várias opções. Ele executa os testes no arquivo
vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx
O comando a seguir é executado vstest.console.exe com a opção /blame
para a biblioteca de teste myTestProject.dll:
vstest.console.exe myTestFile.dll /blame
Se ocorrer uma falha no host de teste, o arquivo sequence.xml será gerado. O arquivo contém nomes totalmente qualificados dos testes em sua sequência de execução até e incluindo o teste específico que estava sendo executado no momento da falha.
Se não houver nenhuma falha do host de teste, o arquivo sequence.xml não será gerado.
Exemplo de um ficheiro sequence.xml gerado:
<?xml version="1.0"?>
<TestSequence>
<Test Name="TestProject.UnitTest1.TestMethodB" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
<Test Name="TestProject.UnitTest1.TestMethodA" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
</TestSequence>
Exemplo de UWP
Para UWP, o arquivo appxrecipe deve ser referenciado em vez de uma DLL.
vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe