Partilhar via


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.