Te.exe Opções de comando
Uso
<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] [/testDependencies:files>]< [/testmode:Loop] [/testmode:Stress] [/testTimeout:<value>] [/unicodeOutput:<true/false>] [/version] [/wttDeviceString:<value>] [/wttDeviceStringSuffix:<<valor>]
Comandos de seleção/execução
test_binaries
Especifique um ou mais arquivos de teste a serem executados (separados por espaços). Há suporte para caracteres curinga.
te.exe test1.dll
Interpretação: execute todos os testes em 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:<verdadeiro/falso>
Especifica se o TAEF deve ou não gerar texto de console colorido. O padrão é true. Se definido como false, o TAEF produzirá todo o texto com a cor padrão do console.
te.exe test1.dll /coloredConsoleOutput:false
/console:<nome_da_>opção=<valor>
Fornece opções para configurar o uso do console pelo TE. As opções a seguir 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.exe foi redirecionada.
/console:position=[x,y | atual ]
Define a posição (em pixels) da janela do console em relação ao canto do monitor principal. Use um valor de current para especificar que a posição atual do console deve ser armazenada e usada ao retomar a reinicialização.
/console:size=[ <x,y> | atual ]
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 a reinicialização.
/console:superior
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 com reconhecimento de 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, e não dentro do TE. ProcessHost.exe.
te.exe test1.dll /inproc
Observação
O TE só dá suporte à execução de uma dll de teste por vez ao usar a configuração /inproc .
/isolationLevel:<Nível>
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 rígido. Consulte Testar isolamento 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 do Relatório de Erros do Windows em testes com falha).
/list
Lista os nomes de todos os test_binaries e as classes e métodos dentro deles. Se critérios de seleção forem especificados, listará 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
/listPropriedades
Lista os nomes e as propriedades de todos os test_binaries e as classes e métodos neles, juntamente com os nomes das funções de Instalação e Desmontagem, se disponíveis. Se critérios de seleção forem especificados, listará 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
/nome:<nome do teste>
A seleção baseada em nome de teste é uma alternativa fácil para "/select:@Name='<testname>'". O <testname> 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á ignorada.
te.exe test1.dll /name:*TestToLower
Interpretação: execute todos os testes em test1.dll em que 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 contenham a frase 'StringTest' em seu namespace, classe ou nome de método.
/outputFolder:<nome_da_pasta>
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 runtime com o parâmetro name=ParamName e o parâmetro value=ParamValue. Esses parâmetros podem ser acessados 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 com suporte 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 obter mais informações, visite o TAEF. Página de ajuda Parâmetros de tempo de execução.
/paralelo
Executa testes em paralelo em vários processadores. Os testes devem aceitar a execução paralela sendo marcados com os metadados 'Paralelos'.
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 o 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 no mesmo modelo e arquivos de semente.
/pict:<NomedaOpção>=<ValorDeOpção>
Fornece opções para controlar PICT.exe quando ele é chamado para testes usando uma fonte de dados PICT. Atualmente, a configuração de uma dessas opções substitui todos os metadados associados no código. As opções a seguir estão disponíveis:
/Pict:Order=3
Define a ordem das combinações passando o valor por meio da opção de comando /o para PICT.exe.
/Pict:ValueSeparator=;
Define o separador de valor passando o valor por meio da opção de comando /d para PICT.exe.
/Pict:SeparadorAlias=+
Define o separador de alias passando o valor por meio da opção de comando /a para PICT.exe.
Pict:NegativeValuePrefix=!
Define o prefixo de valor negativo passando o valor por meio 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 por meio da opção de comando /e para PICT.exe.
/Pict:Random=true
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 por meio 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:Timeout=00:01:30
Define o tempo de espera para que PICT.exe termine antes de encerrar seu processo. O valor está no formato [Dia.] Hora[:Minuto[:Segundo[. FractionalSeconds]]].
/runas:<RunAsType>
Executa testes em ambiente especificado. Consulte a documentação RunAs para obter informações detalhadas sobre o uso.
te.exe *.dll /runas:System
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 "Ignorar" definidos como "true" são ignorados durante a execução e durante a listagem.
/runon:Nome_da_<máquina>
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:<consulta>
Os critérios de seleção a serem usados ao selecionar testes de cada binário de teste. O critério de seleção é composto por um ou mais dos seguintes:
@[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 cadeias de caracteres devem estar entre aspas simples.
- Você pode especificar um critério de seleção composto usando "e", "ou" e "não" (sem distinção entre maiúsculas e minúsculas).
- Os valores de cadeia de caracteres de propriedade dão suporte a 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') and not(@Priority < 3)"
Interpretação: execute todos os testes em test1.dll em que os nomes dos métodos terminam com 'TestToLower' ou em que owner é 'C2'; e onde Priority não é inferior a 3.
te.exe test1.dll test2.dll /select:@Priority=\*
Interpretação: execute todos os testes em test1.dll e test2.dll em que 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 contenham a frase 'StringTest' em seu namespace, classe ou nome de método.
/sessionTimeout:<valor>
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á abortada normalmente e o código de saída do processo significará que ocorreu um tempo limite.
Observação
O valor de tempo limite deve ser especificado no seguinte formato:
[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]
Observação
Se estiver em execução em WTT, esse valor poderá ser usado para garantir que o arquivo de log Wtt permaneça intacto, mesmo que a sessão TAEF atinja o tempo limite.
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:<arquivos>
Especifica dependências de teste adicionais a serem implantadas ao usar a execução de teste entre computadores. 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:<valor>
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.
Observação
O valor de tempo limite deve ser especificado no seguinte formato:
[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]
Observação
Será ignorado quando usado em conjunto com /inproc.
te.exe test1.dll /testTimeout:0:0:0.5
Cada método de teste e configuração/limpeza expirará após 5 segundos.
te.exe test1.dll /testTimeout:0:0:45
Cada método de teste e configuração/limpeza atingirá o tempo limite após 45 segundos.
te.exe test1.dll / testTimeout: 0:20
Cada método de teste e configuração/limpeza atingirá o tempo limite após 20 minutos.
te.exe test1.dll / testTimeout: 5
Cada método de teste e configuração/limpeza expirará após 5 horas.
te.exe test1.dll / testTimeout: 1.2
Cada método de teste e configuração/limpeza expirará após 1 dia e 2 horas.
/unicodeOutput:<verdadeiro/falso>
Quando o TE é canalizado para um arquivo de texto, ele gera unicode por padrão. A única exceção a isso é se você solicitou o acréscimo a um arquivo ANSII existente (via '>>').
Para substituir esse comportamento, você pode especificar /unicodeOutput:false. Isso forçará o TE a sempre enviar ANSII para o arquivo.
te.exe test1.dll /unicodeOutput:false > output.txt
Configurações do registrador
/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 acrescentará a um arquivo de log chamado TE.wtl após a conclusão da execução do teste.
/enableWttLogging
Permite o registro 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 de log do console; deve ser usado em conjunto com /enableWttLogging.
te.exe test1.dll /disableConsoleLogging /enableWttLogging
/logFile:<nome>
Especifique um nome a ser usado 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:<modo>
Define o nível de saída do registrador. Os valores válidos são:
- Alto: Habilita alguma saída de console adicional, como imprimir um carimbo de data/hora ao lado de cada rastreamento.
- Baixo: Emite apenas eventos principais (início, grupo 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
Gera informações detalhadas sobre a versão.
/wttDeviceString:<valor>
Substitui completamente o WttDeviceString usado pelo WexLogger quando ele inicializa o WttLogger.
te.exe test1.dll /wttDeviceString:$Console
/wttDeviceStringSuffix:<valor>
Acrescenta o valor especificado ao WttDeviceString padrão usado pelo WexLogger quando ele inicializa o WttLogger. Ignorado se wttDeviceString também for especificado.
te.exe test1.dll /wttDeviceStringSuffix:$Console
Configurações de depuração
/breakOnCreate
Interrompe o depurador antes de instanciar cada classe de teste.
te.exe test1.dll /breakOnCreate
/breakOnError
Interrompe o depurador se um erro ou falha de teste for registrado.
te.exe test1.dll /breakOnError
/breakOnInvoke
Interrompe o depurador antes de invocar cada método de teste.
te.exe test1.dll /breakOnInvoke
/disableTimeouts
Desabilita 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 a parte do programa que está sendo depurada.
te.exe test1.dll /disableTimeouts
/miniDumpOnError
Usa e registra um minidespejo se ocorrer um erro ou falha de teste.
te.exe test1.dll /miniDumpOnError
/miniDumpOnCrash
Usa e registra um mini despejo se ocorrer uma falha de teste.
te.exe test1.dll /miniDumpOnCrash
/rebootStateFile
Habilita 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 falha ao carregar uma dll de teste. Deve ser usado apenas para investigação de problemas de carregamento de dll de teste nativo.
te.exe test1.dll /reportLoadingIssue
/screenCaptureOnError
Faz e registra uma captura de tela se ocorrer um erro ou falha de teste.
te.exe test1.dll /screenCaptureOnError
/stackFrameCount:<valor>
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
Usa 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 todos os testes 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:Estresse
No modo de teste de 'estresse', o TAEF executará testes indefinidamente, até que Ctrl+C seja inserido ou até que uma mensagem 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 compatíveis com esse modo, consulte Modos de teste.