Partilhar via


Opções de comando Te.exe

Usage

<te.exe> test_binaries [/appendWttLogging] [/breakOnCreate] [/breakOnError] [/breakOnInvoke] [/coloredConsoleOutput] [ /console:flushWrites] [/console:position=[x,y | current] [/console:size=<x,y>] [ /console:topmost ][/defaultAppDomain] [/disableConsoleLogging] [/disableTimeouts] [/dpiaware ] [/enableWttLogging] [/inproc] [/isolationLevel] [/labMode] [/list] [/listProperties] [/logFile:<name>] [/logOutput:<mode>] [/miniDumpOnCrash] [/miniDumpOnError] [/name:<testname>] [/outputFolder:<folderName>] [/p:<ParamName>=<ParamValue>] [/parallel] [/persistPictResults] [/pict:<OptionName>=<OptionValue>] [/rebootStateFile] [/reportLoadingIssue] [/runas:<RunAsType>] [/ runIgnoredTests] [/runon:<MachineName>] [/screenCaptureOnError] [/select:<query>] [/sessionTimeout:<value>] [/stackFrameCount:<value>] [/stackTraceOnError] [/terminateOnFirstFailure] [>] [/testmode:Loop] [/testmode:Stress] [>] [/unicodeOutput:<true/false>] [/version] [/wttDeviceString:<value>] [/wttDeviceStringSuffix:<value>]

Comandos de seleção/execução

test_binaries

Especifique um ou mais arquivos de teste para executar (separados por espaços). Caracteres curinga são suportados.

te.exe test1.dll

Interpretação: Execute todos os testes no test1.dll.

te.exe test1.dll test2.dll test3.dll

Interpretação: Execute todos os testes em test1.dll, test2.dll e test3.dll.

te.exe *.dll

Interpretação: Execute todos os testes em todas as dlls no diretório atual.

/coloredConsoleOutput:<true/false>

Especifica se o TAEF deve ou não gerar texto colorido no console. O padrão é verdadeiro. Se definido como false, o TAEF produzirá todo o texto com a cor padrão do console.

te.exe test1.dll /coloredConsoleOutput:false

/console:<optionName>=<value>

Fornece opções para configurar o uso do console pelo TE. As seguintes opções estão disponíveis:

/console:flushWrites

Faz com que a saída do console seja liberada depois que cada linha é gravada - útil quando a saída do TE.exefoi redirecionada.

/console:position=[x,y | current ]

Define a posição (em pixels) da janela do console em relação ao canto do monitor principal. Use um valor de atual para especificar que a posição atual do console deve ser armazenada e usada ao retomar da reinicialização.

/console:size=[ <x,y> | current ]

Define o tamanho da janela do console (em dimensões de caracteres). O tamanho do buffer de tela será aumentado para corresponder ao tamanho da janela, se necessário. Use um valor de current para especificar que o tamanho atual do console deve ser armazenado e usado ao retomar da reinicialização.

/console:topmost

Mantém o console funcionando te.exe 'topmost' na ordem z da área de trabalho durante a execução.

/dpiaware

Executa testes em um processo marcado como compatível com DPI, consulte DPI alto. Isso também pode ser definido por meio de metadados ("DpiAware").

/inproc

Execute todos os testes dentro do próprio processo TE.exe em vez de dentro TE.ProcessHost.exe.

te.exe test1.dll /inproc

Note

TE suporta apenas a execução de uma dll de teste de cada vez ao usar a configuração /inproc .

/isolationLevel:<Level>

Especifica o nível mínimo de isolamento a ser usado ao executar testes TAEF. Se esse valor entrar em conflito com o IsolationLevel especificado como metadados, o valor se tornará o nível de isolamento com o escopo mais restrito. Consulte Isolamento de teste para obter mais detalhes.

te.exe test1.dll /isolationLevel:Class

/labMode

Executa testes e remove possíveis bloqueios da interface do usuário (por exemplo, caixas de diálogo de Relatório de Erros do Windows em testes de falha).

/list

Lista os nomes de todos os test_binaries e as classes e métodos dentro deles. Se os critérios de seleção forem especificados, lista apenas os nomes daqueles que atendem aos critérios.

 te.exe test1.dll test2.dll /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
  WEX::UnitTests::Test1::Example2
  WEX::UnitTests::Test1::Example3

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
  WEX::UnitTests::Test2::Example2
  WEX::UnitTests::Test2::Example3
 te.exe test1.dll test2.dll /select:@name='*Example2*' /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2

 WEX: :UnitTests::Test2
  WEX::UnitTests::Test2::Example2

/listProperties

Lista os nomes e as propriedades de todos os test_binaries e as classes e métodos neles contidos, juntamente com os nomes das funções Setup e Teardown, se disponíveis. Se os critérios de seleção forem especificados, lista apenas os nomes daqueles que atendem aos critérios.

 te.exe test1.dll test2.dll /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test1::Example3
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test2::Example3
   Property[ThreadingModel] = MTA
 te.exe test1.dll test2.dll /select:@name='*Example2*' /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA

/name:<testname>

A seleção baseada no nome do teste é uma alternativa fácil para "/select:@Name='<testname>'". O <nome> do teste ainda pode conter caracteres curinga ("*" e "?"), mas não deve estar entre aspas simples. Se /select e /name forem especificados no prompt de comando, a consulta /select terá precedência e /name será ignorado.

te.exe test1.dll /name:*TestToLower

Interpretação: Execute todos os testes em test1.dll onde os nomes dos métodos terminam com 'TestToLower'. O mesmo pode ser representado usando critérios de seleção como /select:@Name='*TestToLower'.

te.exe test1.dll /name:*StringTest*

Interpretação: Execute todos os testes em test1.dll que contêm a frase 'StringTest' em seu namespace, classe ou nome de método.

/outputFolder:<folderName>

Especifica uma pasta para colocar todos os arquivos gerados. O padrão é o diretório atual. Você pode usar variáveis de ambiente, por exemplo:

te.exe test1.dll /outputFolder:%TEMP%\\MyOutput

/p:<ParamName>=<ParamValue>

Define um parâmetro de tempo de execução com parameter name=ParamName e parameter value=ParamValue. Esses parâmetros são acessíveis a partir de um método de teste ou métodos de configuração/limpeza.

te.exe test1.dll /p:x=5 /p:myParm=cool

Você pode pegar x como um dos vários tipos suportados em seu código de teste. Por exemplo, aqui você pode nos ver recuperando-o como um int e um WEX::Common::String:

                int x = 0;
                String xString;
                RuntimeParameters::TryGetValue(L"x", x);
                RuntimeParameters::TryGetValue(L"x", xString);

Para mais informações, consulte o TAEF. Página de ajuda Parâmetros de tempo de execução .

/parallel

Executa testes em paralelo em vários processadores. Os testes devem optar pela execução paralela, sendo marcados com os metadados 'Paralelo'.

te.exe test1.dll /parallel

Para obter mais informações, visite a página de ajuda do Parallel .

/persistPictResults

Armazena em cache os resultados gerados pelo PICT.exe para testes usando PICT DataSource na execução atual. A execução de teste subsequente tentará utilizar os resultados armazenados em cache em vez de executar PICT.exe nos mesmos arquivos de modelo e semente.

/pict:<OptionName>=<OptionValue>

Fornece opções para controlar PICT.exe quando ele é chamado para testes usando um PICT DataSource. A configuração de uma dessas opções atualmente substitui todos os metadados associados no código. As seguintes opções estão disponíveis:

/Pict:Ordem=3
Define a ordem das combinações passando o valor através da opção de comando /o para PICT.exe.

/Pict:ValueSeparator=;
Define o separador de valor passando o valor através da opção de comando /d para PICT.exe.

/Pict:AliasSeparator=+
Define o separador de alias passando o valor através da opção de comando /a para PICT.exe.

Pict:NegativeValuePrefix=!
Define o prefixo do valor negativo passando o valor através da opção de comando /n para PICT.exe.

/Pict:SeedingFile=test.seed
Define o caminho para o arquivo de propagação passando o valor através da opção de comando /e para PICT.exe.

/Pict:Aleatório=verdadeiro
Ativa ou desativa a aleatoriedade nos resultados do PICT e faz com que a fonte de dados PICT registre a semente aleatória que foi usada.

/Pict:RandomSeed=33
Define a semente aleatória passando o valor através da opção de comando /r para PICT.exe. Definir isso ativará Pict:Random a menos que Pict:Random esteja explicitamente definido como false.

/Pict:CaseSensitive=true
Quando definido como true, ativa a diferenciação de maiúsculas e minúsculas passando a opção de comando /c para PICT.exe.

/Pict:Tempo limite=00:01:30
Define o tempo para esperar que PICT.exe termine antes de matar seu processo. O valor está no formato [Dia.]Hora[:Minuto[:Segundo[. FractionalSeconds]]].

/runas:<RunAsType>

Executa testes em ambiente especificado. Consulte a documentação do RunAs para obter informações detalhadas sobre o uso.

te.exe *.dll /runas:Sistema

Interpretação: Execute todos os testes como Sistema.

te.exe *.dll /runas:Elevado

Interpretação: Execute todos os testes como um usuário elevado.

te.exe *.dll /runas:Restrito

Interpretação: Execute todos os testes como um usuário não elevado.

te.exe *.dll /runas:LowIL

Interpretação: Execute todos os testes em um processo de baixa integridade.

/runIgnoredTests

Executa ou lista (se em conjunto com /list ou /listProperties) todos os testes, incluindo classes de teste e métodos de teste com metadados "Ignore" definidos como "true". Por padrão, as classes de teste e os métodos de teste com metadados "Ignore" definidos como "true" são ignorados durante a execução e durante a listagem.

/runon:<MachineName>

Executa testes remotamente, na máquina especificada. O TAEF autentica, autoriza e implanta os binários necessários para executar os testes e registra todas as informações de volta no console de origem. Consulte a documentação de Execução de teste entre máquinas para obter informações detalhadas sobre o uso.

te.exe *.dll /runon:TestMachine1

Interpretação: Execute todos os testes remotamente em "TestMachine1".

/select:<query>

Os critérios de seleção a serem usados na seleção de testes de cada binário de teste. Os critérios de seleção são compostos por um ou mais dos seguintes elementos:

@[nome da propriedade] = [valor como string]

@[nome da propriedade] >= [valor como float ou inteiro]

@[nome da propriedade] > [valor como float ou inteiro]

@[nome da propriedade] <= [valor como float ou inteiro]

@[nome da propriedade] < [valor como float ou inteiro]

  • Os valores de propriedade como strings devem estar entre aspas simples.
  • Você pode especificar um critério de seleção composto usando "e", "ou" e "não" (não diferencia maiúsculas de minúsculas).
  • Os valores da cadeia de caracteres de propriedade suportam caracteres curinga por meio de caracteres "*" e "?" .
  • Para valores flutuantes e inteiros, o caractere "*" também pode ser usado como "existe", mas não pode ser usado para correspondência parcial. Por exemplo: /select:"@Priority=*" é válido, mas /select:"@Priority=4*" não é.

te.exe test1.dll /select:"(@Name='*TestToLower' ou @Owner='C2') e not(@Priority < 3)"

Interpretação: Execute todos os testes em test1.dll onde os nomes dos métodos terminam com 'TestToLower' ou onde o proprietário é 'C2'; e em que a prioridade não seja inferior a 3.

te.exe test1.dll test2.dll /select:@Priority=\*

Interpretação: Execute todos os testes em test1.dll e test2.dll onde a Prioridade foi especificada em seus metadados de teste.

te.exe test1.dll /select:@Name='*StringTest*'

Interpretação: Execute todos os testes em test1.dll que contêm a frase 'StringTest' em seu namespace, classe ou nome de método.

/sessionTimeout:<value>

Define um tempo limite de sessão para toda a execução de Te.exe. Se o tempo limite expirar, a sessão de teste será normalmente abortada e o código de saída do processo indicará que ocorreu um tempo limite.

Note

O valor de tempo limite deve ser especificado no seguinte formato:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Note

Se estiver sendo executado em WTT, esse valor pode ser usado para garantir que o arquivo de log Wtt permaneça intacto mesmo se o tempo limite da sessão TAEF expirar.

te.exe test1.dll /sessionTimeout:0:0:0.5

Toda a sessão de teste expirará após .5 segundos.

te.exe test1.dll /sessionTimeout:0:0:45

Toda a sessão de teste expirará após 45 segundos.

te.exe test1.dll /sessionTimeout:0:20

Toda a sessão de teste expirará após 20 minutos.

te.exe test1.dll /sessionTimeout:5

Toda a sessão de teste expirará após 5 horas.

te.exe test1.dll /sessionTimeout:1.2

Toda a sessão de teste expirará após 1 dia e 2 horas.

/terminateOnFirstFailure

Encerra a execução de teste na primeira vez que uma falha de teste é encontrada. Todas as operações de desmontagem para esse teste são invocadas, mas todos os testes subsequentes são marcados como ignorados. Devido a um problema conhecido, os testes podem continuar a ser executados ao usar um modo de teste.

te.exe test1.dll /terminateOnFirstFailure

/testDependencies:<files>

Especifica dependências de teste adicionais a serem implantadas ao usar a execução de teste entre máquinas. A menos que um caminho completo seja fornecido, o TAEF pesquisará em relação ao diretório atual, não ao diretório de teste.

te.exe *.dll /runon:TestMachine1 /TestDependencies:test*.jpg; file1.doc

Interpretação: Execute todos os testes remotamente em "TestMachine1" e copie 'test*.jpg' e 'file1.doc' para a máquina remota antes de executar qualquer teste. Cada especificação de arquivo pode conter caracteres curinga (test.txt; test*.dll; etc.) para corresponder a um ou mais arquivos.

/testTimeout:<value>

Define um tempo limite de teste global para toda a execução de Te.exe. Esse valor substitui quaisquer metadados de tempo limite de teste que possam ter sido definidos para um determinado teste que está sendo executado.

Note

O valor de tempo limite deve ser especificado no seguinte formato:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Note

Será ignorado quando usado em conjunto com /inproc.

te.exe test1.dll /testTimeout:0:0:0.5

Cada teste e método de configuração/limpeza expirará após .5 segundos.

te.exe test1.dll /testTimeout:0:0:45

Cada teste e método de configuração/limpeza expirará após 45 segundos.

te.exe test1.dll /testTimeout:0:20

Cada teste e método de configuração/limpeza expirará após 20 minutos.

te.exe test1.dll /testTimeout:5

Cada teste e método de configuração/limpeza expirará após 5 horas.

te.exe test1.dll /testTimeout:1.2

Cada teste e método de configuração/limpeza expirará após 1 dia e 2 horas.

/unicodeOutput:<true/false>

Quando o TE é canalizado para um arquivo de texto, ele gera unicode por padrão. A única exceção é se você pediu para anexar a um arquivo ANSII existente (via '>>').

Para substituir esse comportamento, você pode especificar /unicodeOutput:false. Isso forçará a TE a sempre enviar ANSII para o arquivo.

te.exe test1.dll /unicodeOutput:false > output.txt

Configurações do Logger

/appendWttLogging

Quando o log WTT está habilitado, acrescenta ao arquivo de log em vez de substituí-lo. Deve ser usado em conjunto com /enableWttLogging.

te.exe test1.dll /enableWttLogging /appendWttLogging

Criará ou anexará a um arquivo de log chamado TE.wtl após a conclusão da execução do teste.

/enableWttLogging

Permite o registo WTT; Wttlog.dll deve estar disponível em seu caminho.

te.exe test1.dll /enableWttLogging

Produzirá um arquivo de log chamado TE.wtl após a conclusão da execução do teste.

/defaultAppDomain

Executa testes gerenciados no domínio do aplicativo padrão.

te.exe managed.test1.dll /defaultAppDomain

/disableConsoleLogging

Desativa a saída do log do console; deve ser usado em conjunto com /enableWttLogging.

te.exe test1.dll /disableConsoleLogging /enableWttLogging

/logFile:<name>

Especifique um nome para usar como o arquivo de log wtt; deve ser usado em conjunto com /enableWttLogging.

te.exe test1.dll /logFile:myCustomLogFile.xml /enableWttLogging

Produzirá um arquivo de log chamado myCustomeLogFile.xml após a conclusão da execução do teste.

/logOutput:<mode>

Define o nível de saída do registrador. Os valores válidos são:

  • Alto: Permite algumas saídas adicionais do console, como imprimir um carimbo de data/hora ao lado de cada rastreamento.
  • Baixo: emite apenas eventos principais (grupo inicial, final, etc.) e erros. O arquivo de log inclui detalhes de prioridade mais baixa que precedem quaisquer erros para fornecer contexto para falhas.
  • LowWithConsoleBuffering: O mesmo que Low, mas inclui o contexto de falhas no arquivo de log e na saída do console.
  • Mais baixo: o mesmo que Baixo, mas a saída do console inclui apenas erros, falhas de teste e o resumo da execução.

/version

Produz informações detalhadas sobre a versão.

/wttDeviceString:<value>

Substitui completamente o WttDeviceString usado pelo WexLogger quando ele inicializa o WttLogger.

te.exe test1.dll /wttDeviceString:$Console

/wttDeviceStringSuffix:<value>

Acrescenta o valor especificado ao padrão WttDeviceString usado por WexLogger quando ele inicializa WttLogger. Ignorado se wttDeviceString também for especificado.

te.exe test1.dll /wttDeviceStringSuffix:$Console

Configurações de depuração

/breakOnCreate

Quebra no depurador antes de instanciar cada classe de teste.

te.exe test1.dll /breakOnCreate

/breakOnError

Invade o depurador se um erro ou falha de teste for registrado.

te.exe test1.dll /breakOnError

/breakOnInvoke

Invade o depurador antes de invocar cada método de teste.

te.exe test1.dll /breakOnInvoke

/disableTimeouts

Desativa todos os tempos limite durante a execução. Isso pode ser útil durante a depuração para evitar um tempo limite quando o TAEF está aguardando na parte do programa que está sendo depurado.

te.exe test1.dll /disableTimeouts

/miniDumpOnError

Tira e registra um mini dump se ocorrer um erro de teste ou falha.

te.exe test1.dll /miniDumpOnError

/miniDumpOnCrash

Tira e registra um mini dump se ocorrer uma falha de teste.

te.exe test1.dll /miniDumpOnCrash

/rebootStateFile

Permite explicitamente a execução de testes de reinicialização .

te.exe test1.dll /rebootStateFile:myFile.xml

/reportLoadingIssue

Exibe uma caixa de diálogo de descrição de erro quando o TAEF não consegue carregar uma dll de teste. Só deve ser usado para investigação de problemas de carregamento de dll de teste nativo.

te.exe test1.dll /reportLoadingIssue

/screenCaptureOnError

Tira e registra uma captura de tela se ocorrer um erro ou falha de teste.

te.exe test1.dll /screenCaptureOnError

/stackFrameCount:<value>

Especifica o número de quadros de pilha a serem exibidos ao obter pilhas de chamadas. O valor padrão é 50.

te.exe test1.dll /stackFrameCount:100

/stackTraceOnError

Tira e registra um rastreamento de pilha se ocorrer um erro ou falha de teste.

te.exe test1.dll /stackTraceOnError

Modos de teste

/testmode:Loop

Permite controlar a execução usando duas variáveis Loop e LoopTest.

  • Loop: Controla quantas vezes toda a execução é executada. Padrão 1.
  • LoopTest: Controla quantas vezes um teste individual é executado. Padrão 10.

te.exe test1.dll /testmode:Loop

Interpretação: Execute cada teste em test1.dll 10 vezes (valor padrão para LoopTest). Toda a execução é executada uma vez (valor padrão para Loop).

te.exe test1.dll test2.dll /testmode:Loop /Loop:3 /LoopTest:1

Interpretação: Execute todos os testes em test1.dll e test2.dll uma vez (determinado pelo LoopTest). Toda a execução (todos os testes combinados em test1.dll e test2.dll) é executada 3 vezes - conforme determinado pelo Loop.

/testmode:Stress

No modo de teste de esforço, o TAEF executará os testes indefinidamente, até que Ctrl+C seja inserido ou até que uma mensagem de WM_CLOSE seja enviada para a janela oculta do TAEF. /testmode:stress deve ser executado em conjunto com /inproc.

te.exe test1.dll /testmode:Stress /inproc

Para obter informações detalhadas e outros parâmetros suportados neste modo, consulte Modos de teste.