opções da linha de comando de MSTest.exe
O MSTest.exe é o comando de linha de comando usado para executar testes. Esse comando tem várias opções que podem ser usadas para personalizar a execução do seu teste. Você pode usar muitas dessas opções em conjunto com outra; na verdade, é necessário usar determinadas opções em conjunto com outras opções, conforme descrito nas seções a seguir. É possível especificar essas opções em qualquer ordem na linha de comando MSTest.exe.
O MSTest.exe não interpreta as opções ou os valores especificados para eles de uma forma que diferencie maiúsculas de minúsculas.
As tabelas a seguir listam todas as opções para MSTest.exe e breves descrições sobre elas. É possível ver um resumo semelhante digitando MSTest /h na linha de comando.
Opções gerais de linha de comando
/testcontainer:[file name] |
Carregue um arquivo que contenha testes. Exemplo: /testcontainer:tests.dll Para obter mais informações, consulte /testcontainer. |
/testmetadata:[file name] |
Carregue um arquivo com metadados de teste. Para obter mais informações, consulte /testmetadata. |
/testlist:[test list path] |
Especifique a lista de testes, como especificado no arquivo de metadados, a ser executada. Para obter mais informações, consulte /testlist. |
/category:[test category filter] |
Especifique e filtre que categorias de teste serão executadas. Para obter mais informações, consulte /category. |
/test:[test name] |
Especifique o nome de um teste a ser executado. Para obter mais informações, consulte /test. |
/noisolation |
Execute testes no processo MSTest.exe. Essa opção aumenta a velocidade de execução de teste, mas aumenta o risco do processo do MSTest.exe. |
/testsettings: [file name] |
Use o arquivo de configurações de teste especificado. Exemplo: /testsettings:Local.Testsettings Para obter mais informações, consulte /testsettings. |
/runconfig:[file name] |
Use o arquivo de configuração especificado de execução. Exemplo: /runconfig:localtestrun.Testrunconfig Para obter mais informações, consulte /runconfig. Dica Esta opção de linha de comando é mantida para compatibilidade com versões anteriores do Visual Studio.As configurações de execução de testes foram colocadas por configurações de teste no Visual Studio Premium. |
/resultsfile:[file name] |
Salve os resultados de execução de teste no arquivo especificado. Exemplo: /resultsfile:testResults.trx Para obter mais informações, consulte /resultsfile. |
/detail:[property id] |
Especifique o nome de uma propriedade para a qual você deseja mostrar valores, se houver, além do resultado do teste. Para obter mais informações, consulte /detail. |
/help |
Exibir a mensagem de uso do MSTest.exe (forma abreviada: /? ou /h). |
/nologo |
Não exibe a faixa de inicialização e a mensagem de direitos autorais. |
/usestderr |
Use o erro padrão para informações de erro de saída. |
Opções de linha de comando para publicar resultados de teste
Para obter mais informações sobre essas opções, consulte Opções da linha de comando para publicar resultados de teste.
/publish:[server name] |
Publicar resultados no banco de dados para a coleção de projetos de equipe do servidor especificado. |
/publishresultsfile:[file name] |
Especifique o nome do arquivo de resultados a ser publicado. Se nenhum nome de arquivo de resultado for especificado, use o arquivo gerado pela execução atual. |
/publishbuild:[build id] |
Publique resultados de teste usando essa identificação de compilação. |
/teamproject:[team project name] |
Especifique o nome do projeto de equipe ao qual a compilação pertence. |
/platform:[platform] |
Especifique a plataforma de compilação em relação a quais resultados do teste deverão ser publicados. |
/flavor:[flavor] |
Especifique o tipo de compilação em relação a quais resultados do teste deverão ser publicados. |
Usando opções de MSTest
As seções a seguir descrevem muitas das opções para MSTest.exe com mais detalhes. As opções usadas para publicação de resultados de teste não estão incluídas aqui. Para obter informações sobre essas opções de redimensionamento, consulte Opções da linha de comando para publicar resultados de teste.
/testcontainer
/testcontainer:[file name]
O contêiner de teste é um arquivo que contém os testes que você deseja executar. Por exemplo, para testes ordenados, o recipiente de teste é o arquivo .orderedtest que define o teste ordenado. Para testes de unidade, é o conjunto compilado do projeto de teste que contém os arquivos de origem dos testes de unidade.
Dica
Para testes de unidade, este é o assembly que contém o código de teste, não o assembly que contém o código do aplicativo que você está testando.Por exemplo, se sua solução contém um projeto chamado BankAccount e um projeto de teste correspondente denominado BankAccountTest, especifique /testcontainer:BankAccountTest.dll.
Dica
Como o arquivo de teste de metadados também lista os testes que você pode executar, você não deve especificar opções /testcontainer e /testmetadata em uma única linha de comando. Isso seria ambíguo e geraria um erro.
/testmetadata
/testmetadata:[file name]
Você pode usar a opção /testmetadata para executar testes em vários contêineres de teste.
O arquivo de metadados de teste é criado para sua solução quando você cria listas de testes usando a janela Editor de Lista de Testes. Este arquivo contém informações sobre todos os testes listados na janela Editor de lista de teste. Esses são todos os testes que existem em todos os projetos de teste em sua solução.
O arquivo de metadados de teste é um arquivo XML criado na pasta da solução. Este arquivo é mostrado no Gerenciador de Soluções abaixo do nó Itens de Solução. Um arquivo de metadados de teste tem a extensão .vsmdi, e está associado com a janela Editor de lista de teste. Ou seja, se você clicar duas vezes em um arquivo .vsmdi no Windows Explorer (ou no Explorador de Arquivos), o arquivo abrirá o Visual Studio e seu conteúdo. Todos os testes em projetos de teste de uma solução são exibidos na janela editor de lista de teste.
Você pode alterar o arquivo de metadados de teste apenas fazendo alterações que são refletidas na janela do Editor de Lista de Testes, como criar ou excluir testes, ou alterar as propriedades de um teste.
Dica
Como o recipiente de teste contém os testes que você pode executar, você não deve especificar opções de /testcontainer e de /testmetadata em uma única linha de comando. Isso seria ambíguo e geraria um erro.
Quando você usa a opção de /testmetadata, é recomendável que você indica testes específicos para a execução usando a opção de /test ou a opção de /testlist ou ambos.
/testlist
/testlist:[test list path]
A opção /testlist é uma lista de testes, como especificado no arquivo de metadados de teste, a ser executada. Para executar testes que estão contidos em várias listas de teste, use a opção /testlist várias vezes. Quaisquer testes ordenados na lista de teste serão executados.
Dica
Você pode usar a opção /testlist somente junto com a opção /testmetadata.
Você pode usar a opção /testlist e a opção /test juntas. Isso é equivalente a selecionar uma lista de testes e um ou mais testes individuais na janela Editor de lista de teste e, então, escolher Executar Testes.
/category
/category:[test category filter]
Use a opção /category para especificar a categoria de teste a ser executada.
Dica
Você deve usar a opção /testcontainer para usar a opção /category.
Você pode usar a opção /category somente uma vez por linha de comando, mas é possível especificar várias categorias de teste com o filtro de categoria de teste. O filtro de categoria de teste consiste em um ou vários nomes de categoria de teste separados pelos operadores lógicos '&', '|', '!', '&!'. Os operadores lógicos '&' e '|' não podem ser usado juntos para criar um filtro de categoria de teste.
Por exemplo:
/category:group1 realiza testes na categoria “group1” de teste.
/category:"group1&group2" executa os testes que estão em ambas as categorias “group1” e “group2" de teste. Os testes que só estejam em uma das categorias de teste especificadas não serão executados.
/category:"group1|group2" executa testes que estão na categoria “group1” ou “group2" de teste. Os testes que estão em ambas as categorias de teste serão executados também.
/category:"group1&!group2" executa testes da categoria de teste "group1" que não estão na categoria de teste "group2". Um teste que está tanto na categoria “group1” quanto “group2” de teste não será executado.
Dica
Se seu filtro consistir em uma única categoria como /category:group1, você não precisará incluir o filtro entre aspas.No entanto, se seu filtro fizer referência a mais de uma categoria como /category:"group1&group2", o filtro precisará ser colocado entre aspas.
/test
/test:[test name]
Use a opção de /test para especificar testes individuais a serem executados. Para executar testes múltiplos, use a opção /test diversas vezes.
Dica
Você pode usar a opção /test com a opção /testcontainer ou /testmetadata, mas não com ambas.
Você pode usar a opção /testlist e a opção /test juntas. Isso é equivalente a selecionar uma lista de testes e um ou mais testes individuais na janela Editor de lista de teste e, então, escolher Executar Testes.
A cadeia de caracteres especificada por você com a opção /test é usada para fazer a correspondência dos nomes de testes em um contêiner de teste ou em um arquivo de metadados de teste. Isso significa que você pode especificar vários testes usando um único valor para /test. Por exemplo, especificar /test:ittest geraria correspondências para os testes nomeados DebitTest e CreditTest porque os dois nomes de teste contêm a subcadeia de caracteres "ittest".
Dica
O valor especificado com a opção /test é testado em relação não só ao nome do teste, como também em relação ao caminho desse teste, como visto no Gerenciador de Soluções, ou, com testes de unidade, em relação ao nome totalmente qualificado.
Veja dois exemplos de uso:
Exemplo de teste de unidade: o arquivo UnitTest1.cs no projeto TestProject2 contém um teste de unidade chamado TestMethod1. A especificação de um valor 'ittest' para a opção /test também corresponderia a este teste, uma vez que a cadeia de caracteres é testada em relação ao nome totalmente qualificado "TestProject2.UnitTest1.TestMethod1" e a cadeia de caracteres 'ittest' também aparece em 'UnitTest1'.
Exemplo de teste genérico: A linha de comando a seguir executa o teste genérico especificado e, nos resultados de teste, exibe o caminho completo do teste.
mstest /testcontainer:"C:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\TestProject2\TestProject2\generictest1.generic" /test:testproject32\generic
/noisolation
/noisolation
Use esta opção para executar testes dentro do processo de MSTest.exe. Usar esta opção não causa outras alterações na configuração da execução de teste. A finalidade dessa opção é aprimorar a velocidade da execução de teste. No entanto, aumenta o risco para o ensaio como um todo porque uma exceção não tratada lançada pelo código de teste faria o processo do MSTest.exe falhar.
/testsettings
/testsettings:[file name]
Use esta opção especificar um arquivo de configuração de teste. Por exemplo: /testsettings:local.Testsettings
É possível especificar um arquivo de configurações de teste de outras maneiras, como com a opção /testmetadata. As regras que regem a especificação de arquivos de configurações de teste são descritas aqui.
Se você usar a opção /testsettings, o arquivo especificado por ela será usado, mesmo se você também usar a opção /testmetadata.
Se você usar a opção /testmetadata para apontar para um arquivo de metadados que especifica o arquivo de configurações de teste, esse arquivo de configurações de teste será usado se você não usar a opção /testsettings.
Se você não usar a opção de /testsettings e também não especificar um arquivo de configurações de teste no arquivo de metadados de teste, o ensaio usará o arquivo de configurações padrão de teste.
Dica
Para obter mais informações sobre arquivos de configurações de teste, consulte Criar configurações de teste para testes de sistema automatizados usando o Microsoft Test Manager.
/runconfig
/runconfig:[file name]
Observação Esta opção de linha de comando é mantida para compatibilidade com versões anteriores do Visual Studio. As configurações de execução de testes foram colocadas por configurações de teste no Visual Studio Premium.
Use esta opção especificar um arquivo de configuração de execução. Por exemplo: /runconfig:localtestrun.Testrunconfig
É possível especificar um arquivo de configuração de execução de outras maneiras, como com a opção /testmetadata. As regras que regem a especificação de arquivos de configuração de execução são descritas aqui.
Se você usar a opção /runconfig, o arquivo especificado por ela será usado, mesmo se você também usar a opção /testmetadata.
Se você usar a opção /testmetadata para apontar para um arquivo de metadados que especifica o arquivo de configuração ativo de execução, esse arquivo de configuração de execução será usado se você não usar a opção /runconfig.
Se você não usar a opção de /runconfig e também não especificar um arquivo de configuração de execução no arquivo de metadados de teste, o ensaio usará o arquivo de configuração padrão de execução.
/resultsfile
/resultsfile:[file name]
Use esta opção salvar os resultados de ensaio para o arquivo chamado. Por exemplo: /resultsfile:testResults.trx.
/usestderr
/usestderr
Usar esta opção fará com que as seguintes informações sejam gravadas no erro padrão:
Os testes com resultado com Falha, Anulado, Erro, Expirou, Não Executável ou Não Executado.
Erros de nível de execução.
Erros ao analisar os argumentos de linha de comando.
Execute o resumo quando a execução de teste tiver um resultado de falha.
Sem esta opção, toda a saía é enviada para a saída padrão.
/detail
/detail:[property id]
Essa opção é usada exibir propriedades adicionais de caso de teste, se existirem. É possível passar mais de uma instância da opção /detail, cada uma com apenas uma ID de propriedade, em uma única linha de comando. As identificações válidas de propriedade para a opção /detail são:
adapter |
id |
projectrelativepath |
computername |
isautomated |
readonly |
debugtrace |
link |
spoolmessage |
description |
longtext |
stderr |
displaytext |
name |
stdout |
duration |
outcometext |
storage |
errormessage |
owner |
testcategoryid |
errorstacktrace |
parentexecid |
testname |
executionid |
priority |
testtype |
groups |
projectname |
traceinfo |
Dica
A seleção real de IDs de propriedades que você pode usar com a opção /detail varia de acordo com o tipo de teste.Portanto, essa lista é somente uma aproximação.Em particular, se você estiver usando tipos personalizados de teste, a seleção de propriedades será diferente.Para saber quais propertyIDs você pode usar, examine o arquivo de resultados do teste gerado pela execução de teste.Para obter mais informações sobre os resultados do teste, consulte Como salvar e abrir resultados de teste de carga e desempenho na Web no Visual Studio.
Se uma propriedade existir para o caso de teste especificado, suas informações estão incluídas no resumo do resultado de saída.
Por exemplo, a linha de comando:
mstest /testcontainer:Errors.dll /detail:testtype
produz a seguinte saída, que contém informações de tipo de teste:
...
Results Top Level Tests
-------- -----------------
Inconclusive TestProject2.BankAccountTest.CreditTest
[testtype] = Unit Test
...
Consulte também
Conceitos
Executando testes automatizados a partir da linha de comando