Opzioni del comando Te.exe
Utilizzo
<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:<value>]
Comandi di selezione/esecuzione
test_binaries
Specificare uno o più file di test da eseguire (separati da spazi). I carattere jolly sono supportati.
te.exe test1.dll
Interpretazione: eseguire tutti i test in test1.dll.
te.exe test1.dll test2.dll test3.dll
Interpretazione: eseguire tutti i test in test1.dll, test2.dll e test3.dll.
te.exe *.dll
Interpretazione: eseguire tutti i test in tutte le DLL nella directory corrente.
/coloredConsoleOutput:<true/false>
Specifica se TAEF deve restituire testo della console colorato. Il valore predefinito è true. Se impostato su false, TAEF restituirà tutto il testo con il colore predefinito della console.
te.exe test1.dll /coloredConsoleOutput:false
/console:<optionName>=<value>
Fornisce opzioni per la configurazione dell'uso di TE della console. Sono disponibili le seguenti opzioni:
/console:flushWrites
Fa sì che l'output della console venga scaricato dopo la scrittura di ogni riga, utile quando l'output di TE.exe è stato reindirizzato.
/console:position=[x,y | current ]
Imposta la posizione in pixel della finestra della console rispetto all'angolo del monitor primario. Usare un valore corrente per specificare che la posizione della console corrente deve essere archiviata e usata durante la ripresa dal riavvio.
/console:size=[ <x,y> | current ]
Imposta le dimensioni della finestra della console (in dimensioni carattere). Le dimensioni del buffer dello schermo verranno aumentate in modo che corrispondano alle dimensioni della finestra, se necessario. Usare un valore corrente per specificare che le dimensioni correnti della console devono essere archiviate e usate durante la ripresa dal riavvio.
/console:topmost
Mantiene la console in esecuzione te.exe 'topmost' nell'ordine z del desktop per la durata dell'esecuzione.
/dpiaware
Esegue i test in un processo contrassegnato come compatibile con DPI, vedere DPI elevato. Questa impostazione può essere impostata anche tramite metadati ("DpiAware").
/inproc
Eseguire tutti i test all'interno del processo TE.exe stesso anziché all'interno di TE. ProcessHost.exe.
te.exe test1.dll /inproc
Nota
TE supporta solo l'esecuzione di una DLL di test alla volta quando si usa l'impostazione /inproc .
/isolationLevel:<Level>
Specifica il livello minimo di isolamento da usare durante l'esecuzione di test TAEF. Se questo valore è in conflitto con IsolationLevel specificato come metadati, il valore diventa il livello di isolamento con l'ambito più stretto. Per altri dettagli, vedere Isolamento dei test.
te.exe test1.dll /isolationLevel:Class
/labMode
Esegue test e rimuove il potenziale blocco dell'interfaccia utente, ad esempio Segnalazione errori Windows finestre di dialogo sui test di arresto anomalo.
/list
Elenca i nomi di tutti i test_binaries e le classi e i metodi all'interno di essi. Se vengono specificati criteri di selezione, elenca solo i nomi di quelli che soddisfano i criteri.
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
Elenca i nomi e le proprietà di tutti i test_binaries e le classi e i metodi in essi contenuti insieme ai nomi delle funzioni Setup e Teardown, se disponibili. Se vengono specificati criteri di selezione, elenca solo i nomi di quelli che soddisfano i criteri.
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>
La selezione basata sul nome del test è un'alternativa semplice a "/select:@Name='<testname>'". Il <testname> può comunque contenere caratteri jolly ("*" e "?"), ma non deve essere contenuto tra virgolette singole. Se /select e /name vengono specificati entrambi al prompt dei comandi, la query /select ha la precedenza e /name viene ignorata.
te.exe test1.dll /name:*TestToLower
Interpretazione: eseguire tutti i test in test1.dll dove i nomi dei metodi terminano con "TestToLower". Lo stesso può essere rappresentato usando i criteri di selezione come /select:@Name='*TestToLower'.
te.exe test1.dll /name:*StringTest*
Interpretazione: eseguire tutti i test in test1.dll che contengono la frase 'StringTest' nello spazio dei nomi, nella classe o nel nome del metodo.
/outputFolder:<folderName>
Specifica una cartella in cui inserire tutti i file generati. Il valore predefinito è la directory corrente. È possibile usare le variabili di ambiente, ad esempio:
te.exe test1.dll /outputFolder:%TEMP%\\MyOutput
/p:<ParamName>=<ParamValue>
Definisce un parametro di runtime con parameter name=ParamName e parameter value=ParamValue. Questi parametri sono accessibili da un metodo di test o da metodi di installazione/pulizia.
te.exe test1.dll /p:x=5 /p:myParm=cool
È possibile acquisire x come uno dei diversi tipi supportati nel codice di test. Ad esempio, qui è possibile visualizzarlo come int e WEX::Common::String:
int x = 0;
String xString;
RuntimeParameters::TryGetValue(L"x", x);
RuntimeParameters::TryGetValue(L"x", xString);
Per altre informazioni, visitare il TAEF. Pagina della Guida dei parametri di runtime.
/parallelo
Esegue test in parallelo tra più processori. I test devono acconsentire esplicitamente all'esecuzione parallela contrassegnati con i metadati "Parallel".
te.exe test1.dll /parallel
Per altre informazioni, visitare la pagina della Guida parallela .
/persistPictResults
Memorizza nella cache i risultati generati da PICT.exe per i test usando PICT DataSource nell'esecuzione corrente. L'esecuzione di test successiva tenterà di utilizzare i risultati memorizzati nella cache come per l'esecuzione di PICT.exe sullo stesso modello e sullo stesso file di inizializzazione.
/pict:<OptionName>=<OptionValue>
Fornisce opzioni per controllare PICT.exe quando viene chiamato per i test usando un'origine dati PICT. L'impostazione di una di queste opzioni esegue attualmente l'override di tutti i metadati associati nel codice. Sono disponibili le seguenti opzioni:
/Pict:Order=3
Imposta l'ordine delle combinazioni passando il valore tramite l'opzione di comando /o per PICT.exe.
/Pict:ValueSeparator=;
Imposta il separatore di valori passando il valore tramite l'opzione di comando /d per PICT.exe.
/Pict:AliasSeparator=+
Imposta il separatore alias passando il valore tramite l'opzione di comando /a per PICT.exe.
Pict:NegativeValuePrefix=!
Imposta il prefisso del valore negativo passando il valore tramite l'opzione di comando /n per PICT.exe.
/Pict:SeedingFile=test.seed
Imposta il percorso del file di seeding passando il valore tramite l'opzione di comando /e per PICT.exe.
/Pict:Random=true
Attiva o disattiva la casualità nei risultati PICT e rende il log dell'origine dati PICT il valore di inizializzazione casuale usato.
/Pict:RandomSeed=33
Imposta il valore di inizializzazione casuale passando il valore tramite l'opzione di comando /r per PICT.exe. Se si imposta questa opzione, pict:random viene attivata, a meno che Pict:Random non sia impostata in modo esplicito su false.
/Pict:CaseSensitive=true
Se impostato su true, attiva la distinzione tra maiuscole e minuscole passando l'opzione di comando /c a PICT.exe.
/Pict:Timeout=00:01:30
Imposta il tempo di attesa del completamento PICT.exe prima di ucciderne il processo. Il valore è nel formato [Day.] Hour[:Minute[:Second[. FractionalSeconds]]].
/runas:<RunAsType>
Esegue i test nell'ambiente specificato. Per informazioni dettagliate sull'utilizzo, vedere la documentazione di RunAs .
te.exe *.dll /runas:System
Interpretazione: eseguire tutti i test come Sistema.
te.exe *.dll /runas:Elevated
Interpretazione: eseguire tutti i test come utente con privilegi elevati.
te.exe *.dll /runas:Restricted
Interpretazione: eseguire tutti i test come utente non con privilegi elevati.
te.exe *.dll /runas:LowIL
Interpretazione: eseguire tutti i test in un processo di integrità bassa.
/runIgnoredTests
Esegue o elenca (se in combinazione con /list o /listProperties) tutti i test, incluse le classi di test e i metodi di test con metadati "Ignore" impostati su "true". Per impostazione predefinita, le classi di test e i metodi di test con metadati "Ignore" impostati su "true" vengono ignorati durante l'esecuzione e durante l'elenco.
/runon:<MachineName>
Esegue i test in remoto, nel computer specificato. TAEF autentica, autorizza e distribuisce i file binari necessari per eseguire i test e registra tutte le informazioni nella console di origine. Per informazioni dettagliate sull'utilizzo, vedere la documentazione sull'esecuzione di test tra computer.
te.exe *.dll /runon:TestMachine1
Interpretazione: eseguire tutti i test in remoto in "TestMachine1".
/select:<query>
Criteri di selezione da utilizzare quando si selezionano i test da ogni file binario di test. I criteri di selezione sono costituiti da uno o più dei seguenti elementi:
@[nome proprietà] = [valore come stringa]
@[nome proprietà] >= [valore come float o integer]
@[nome proprietà] > [valore come float o integer]
@[nome proprietà] <= [valore come float o integer]
@[nome proprietà] < [valore come float o integer]
- I valori delle proprietà come stringhe devono essere racchiusi tra virgolette singole.
- È possibile specificare criteri di selezione compositi usando "and", "or" e "not" (senza distinzione tra maiuscole e minuscole).
- I valori delle stringhe di proprietà supportano caratteri jolly tramite caratteri "*" e "?".
- Per i valori float e integer, il carattere "*" può essere usato anche come 'exists', ma non può essere usato per la corrispondenza parziale. Ad esempio: /select:"@Priority=*" è valido, ma /select:"@Priority=4*" non è.
te.exe test1.dll /select:"(@Name='*TestToLower' o @Owner='C2') e not(@Priority < 3)"
Interpretazione: eseguire tutti i test in test1.dll dove i nomi dei metodi terminano con "TestToLower" o dove il proprietario è "C2" e dove Priority non è minore di 3.
te.exe test1.dll test2.dll /select:@Priority=\*
Interpretazione: eseguire tutti i test in test1.dll e test2.dll in cui è stata specificata la priorità nei relativi metadati di test.
te.exe test1.dll /select:@Name='*StringTest*'
Interpretazione: eseguire tutti i test in test1.dll che contengono la frase 'StringTest' nello spazio dei nomi, nella classe o nel nome del metodo.
/sessionTimeout:<value>
Imposta un timeout della sessione per l'intera esecuzione di Te.exe. Se il timeout scade, la sessione di test verrà interrotta normalmente e il codice di uscita del processo indicherà che si è verificato un timeout.
Nota
Il valore di timeout deve essere specificato nel formato seguente:
[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]
Nota
Se in esecuzione in WTT, questo valore può essere usato per assicurarsi che il file di log Wtt rimanga intatto anche se si verifica il timeout della sessione TAEF.
te.exe test1.dll /sessionTimeout:0:0:0.5
L'intera sessione di test raggiungerà il timeout dopo 5 secondi.
te.exe test1.dll /sessionTimeout:0:0:45
L'intera sessione di test si verifica dopo 45 secondi.
te.exe test1.dll /sessionTimeout:0:20
L'intera sessione di test si verifica dopo 20 minuti.
te.exe test1.dll /sessionTimeout:5
L'intera sessione di test raggiungerà il timeout dopo 5 ore.
te.exe test1.dll /sessionTimeout:1.2
L'intera sessione di test raggiungerà il timeout dopo 1 giorno e 2 ore.
/terminateOnFirstFailure
Termina l'esecuzione del test la prima volta che viene rilevato un errore di test. Vengono richiamate tutte le operazioni di disinstallazione per tale test, ma tutti i test successivi vengono contrassegnati come ignorati. A causa di un problema noto, i test potrebbero continuare a essere eseguiti quando si usa una modalità di test.
te.exe test1.dll /terminateOnFirstFailure
/testDependencies:<files>
Specifica dipendenze di test aggiuntive da distribuire quando si usa l'esecuzione di test tra computer. A meno che non venga specificato un percorso completo, TAEF cercherà in relazione alla directory corrente, non alla directory di test.
te.exe *.dll /runon:TestMachine1 /TestDependencies:test*.jpg; file1.doc
Interpretazione: eseguire tutti i test in remoto in "TestMachine1" e copiare "test*.jpg" e "file1.doc" nel computer remoto prima di eseguire eventuali test. Ogni specifica di file può contenere caratteri jolly (test.txt, test*.dll e così via) per trovare una corrispondenza con uno o più file.
/testTimeout:<value>
Imposta un timeout di test globale per l'intera esecuzione di Te.exe. Questo valore esegue l'override di tutti i metadati di timeout del test che potrebbero essere stati impostati per un determinato test in esecuzione.
Nota
Il valore di timeout deve essere specificato nel formato seguente:
[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]
Nota
Verrà ignorato se usato insieme a /inproc.
te.exe test1.dll /testTimeout:0:0:0.5
Ogni test e metodo di installazione/pulizia raggiungerà il timeout dopo 5 secondi.
te.exe test1.dll /testTimeout:0:0:45
Ogni test e metodo di installazione/pulizia raggiungerà il timeout dopo 45 secondi.
te.exe test1.dll /testTimeout:0:20
Ogni metodo di test e installazione/pulizia si verifica dopo 20 minuti.
te.exe test1.dll /testTimeout:5
Ogni metodo di test e configurazione/pulizia raggiungerà il timeout dopo 5 ore.
te.exe test1.dll /testTimeout:1.2
Ogni test e metodo di installazione/pulizia si verifica un timeout dopo 1 giorno e 2 ore.
/unicodeOutput:<true/false>
Quando l'TE viene inviato tramite pipe a un file di testo, restituisce unicode per impostazione predefinita. L'unica eccezione è se è stata richiesta l'aggiunta a un file ANSII esistente (tramite '>>').
Per eseguire l'override di questo comportamento, è possibile specificare /unicodeOutput:false. In questo modo, te restituirà sempre l'output ANSII nel file.
te.exe test1.dll /unicodeOutput:false > output.txt
Impostazioni del logger
/appendWttLogging
Quando la registrazione WTT è abilitata, aggiunge al file di log anziché sovrascriverla. Deve essere usato insieme a /enableWttLogging.
te.exe test1.dll /enableWttLogging /appendWttLogging
Verrà creato o aggiunto a un file di log denominato TE.wtl al completamento dell'esecuzione del test.
/enableWttLogging
Abilita la registrazione WTT; Wttlog.dll deve essere disponibile nel percorso.
te.exe test1.dll /enableWttLogging
Produrrà un file di log denominato TE.wtl al completamento dell'esecuzione del test.
/defaultAppDomain
Esegue test gestiti nel dominio applicazione predefinito.
te.exe managed.test1.dll /defaultAppDomain
/disableConsoleLogging
Disabilita l'output del log della console; deve essere usato insieme a /enableWttLogging.
te.exe test1.dll /disableConsoleLogging /enableWttLogging
/logFile:<name>
Specificare un nome da usare come file di log wtt; deve essere usato insieme a /enableWttLogging.
te.exe test1.dll /logFile:myCustomLogFile.xml /enableWttLogging
Produrrà un file di log denominato myCustomeLogFile.xml al completamento dell'esecuzione del test.
/logOutput:<mode>
Imposta il livello di output del logger. I valori validi sono:
- Alto: abilita un output aggiuntivo della console, ad esempio la stampa di un timestamp accanto a ogni traccia.
- Bassa: genera solo eventi principali (inizio, gruppo finale e così via) ed errori. Il file di log include dettagli con priorità inferiore che precedevano eventuali errori per fornire contesto per gli errori.
- LowWithConsoleBuffering: uguale a Basso, ma include il contesto degli errori sia nel file di log che nell'output della console.
- Minimo: uguale a Basso, ma l'output della console include solo errori, errori di test e riepilogo dell'esecuzione.
/version
Restituisce informazioni dettagliate sulla versione.
/wttDeviceString:<value>
Esegue completamente l'override di WttDeviceString usato da WexLogger quando inizializza WttLogger.
te.exe test1.dll /wttDeviceString:$Console
/wttDeviceStringSuffix:<value>
Aggiunge il valore specificato all'oggetto WttDeviceString predefinito usato da WexLogger quando inizializza WttLogger. Ignorato se viene specificato anche wttDeviceString .
te.exe test1.dll /wttDeviceStringSuffix:$Console
Impostazioni di debug
/breakOnCreate
Si interrompe nel debugger prima di creare un'istanza di ogni classe di test.
te.exe test1.dll /breakOnCreate
/breakOnError
Si interrompe nel debugger se viene registrato un errore o un errore di test.
te.exe test1.dll /breakOnError
/breakOnInvoke
Si interrompe nel debugger prima di richiamare ogni metodo di test.
te.exe test1.dll /breakOnInvoke
/disableTimeouts
Disabilita tutti i timeout durante l'esecuzione. Ciò può essere utile durante il debug per evitare un timeout quando TAEF è in attesa nella parte del programma di cui è in corso il debug.
te.exe test1.dll /disableTimeouts
/miniDumpOnError
Accetta e registra un mini dump se si verifica un errore o un errore di test.
te.exe test1.dll /miniDumpOnError
/miniDumpOnCrash
Accetta e registra un mini dump se si verifica un arresto anomalo del test.
te.exe test1.dll /miniDumpOnCrash
/rebootStateFile
Abilita in modo esplicito l'esecuzione dei test di riavvio .
te.exe test1.dll /rebootStateFile:myFile.xml
/reportLoadingIssue
Visualizza una finestra di dialogo di descrizione dell'errore quando TAEF non riesce a caricare una DLL di test. Deve essere usato solo per l'analisi dei problemi di caricamento della DLL di test nativi.
te.exe test1.dll /reportLoadingIssue
/screenCaptureOnError
Acquisisce e registra un'acquisizione dello schermo se si verifica un errore o un errore di test.
te.exe test1.dll /screenCaptureOnError
/stackFrameCount:<value>
Specifica il numero di stack frame da visualizzare durante il recupero degli stack di chiamate. Il valore predefinito è 50.
te.exe test1.dll /stackFrameCount:100
/stackTraceOnError
Accetta e registra un'analisi dello stack se si verifica un errore o un errore di test.
te.exe test1.dll /stackTraceOnError
Modalità di test
/testmode:Loop
Consente di controllare l'esecuzione usando due variabili Loop e LoopTest.
- Ciclo: controlla il numero di esecuzioni dell'intera esecuzione. Il valore predefinito è 1.
- LoopTest: controlla il numero di esecuzioni di un singolo test. Impostazione predefinita 10.
te.exe test1.dll /testmode:Loop
Interpretazione: eseguire ogni test in test1.dll 10 volte (valore predefinito per LoopTest). L'intera esecuzione viene eseguita una sola volta (valore predefinito per Ciclo).
te.exe test1.dll test2.dll /testmode:Loop /Loop:3 /LoopTest:1
Interpretazione: eseguire ogni test in test1.dll e test2.dll una sola volta (determinato da LoopTest). L'intera esecuzione (tutti i test combinati in test1.dll e test2.dll) viene eseguita 3 volte, come determinato dal ciclo.
/testmode:Stress
In modalità di test 'stress', TAEF eseguirà i test a tempo indeterminato, fino a quando CTRL+C non viene immesso o fino a quando non viene inviato un messaggio di WM_CLOSE alla finestra nascosta del TAEF. /testmode:stress deve essere eseguito insieme a /inproc.
te.exe test1.dll /testmode:Stress /inproc
Per informazioni dettagliate e altri parametri supportati in questa modalità, vedere Modalità di test.