Opzioni della riga di comando di MSTest.exe
Aggiornamento: novembre 2007
MSTest.exe è il comando della riga di comando utilizzato per eseguire i test. Questo comando dispone di numerose opzioni per la personalizzazione dell'esecuzione dei test. Molte di queste funzioni devono essere utilizzate insieme ad altre, come descritto nelle seguenti sezioni. È possibile specificare queste opzioni in qualsiasi ordine nella riga di comando di MSTest.exe.
In MSTest.ext le opzioni o i valori specificati non sono sensibili al maiuscolo e minuscolo.
Nelle seguenti tabelle vengono illustrate tutte le opzioni per MSTest.exe con una breve descrizione. È possibile visualizzare un riepilogo simile digitando MSTest/h dalla riga di comando.
Opzioni generali della riga di comando
/testcontainer:[nome file] |
Caricamento di un file che contiene dei test. Esempio: /testcontainer:tests.dll Per ulteriori informazioni, vedere /testcontainer. |
||
/testmetadata:[nome file] |
Caricamento di un file che contiene metadati di un test. Per ulteriori informazioni, vedere /testmetadata. |
||
/testlist:[percorso elenco test] |
Indicazione dell'elenco di test, specificato nel file di metadati, da eseguire. Per ulteriori informazioni, vedere /testlist. |
||
/test:[nome test] |
Indicazione del nome di un test da eseguire. Per ulteriori informazioni, vedere /test . |
||
/noisolation |
Esegue i test all'interno del processo MSTest.exe. Questa opzione migliora la velocità di esecuzione dei test, ma aumenta i rischio connessi al processo MSTest.exe. |
||
/runconfig:[nome file] |
Utilizzo del file di configurazione dell'esecuzione specificato. Esempio: /runconfig:localtestrun.Testrunconfig Per ulteriori informazioni, vedere /runconfig.
|
||
/resultsfile:[nome file] |
Salvataggio dei risultati dell'esecuzione dei test nel file specificato. Esempio: /resultsfile:testResults.trx Per ulteriori informazioni, vedere /resultsfile. |
||
/unique |
Esecuzione del test solo se viene individuata una corrispondenza univoca per qualsiasi /test specificato. Per ulteriori informazioni, vedere /unique. |
||
/detail:[id proprietà] |
Indicazione del nome di una proprietà per la quale si desidera mostrare i valori, se presenti, in aggiunta al risultato del test. Per ulteriori informazioni, vedere /detail. |
||
/help |
Visualizzazione del messaggio di utilizzo di MSTest.exe (forma breve: /? o /h). |
||
/nologo |
Eliminazione della visualizzazione di un'intestazione di avvio e del messaggio di copyright. |
Opzioni della riga di comando per la pubblicazione dei risultati del test
Per ulteriori informazioni su tali opzioni, vedere Opzioni della riga di comando per la pubblicazione dei risultati del test .
/publish:[nome server] |
Pubblicazione dei risultati nell'archivio operativo del server specificato. |
/publishresultsfile:[nome file] |
Indicazione del nome del file dei risultati da pubblicare. Se non viene specificato un nome file, utilizzare il file prodotto dall'esecuzione corrente. |
/publishbuild:[id compilazione] |
Pubblicazione dei risultati del test utilizzando questo ID di generazione. |
/teamproject:[nome progetto team] |
Indicazione del nome del progetto team a cui appartiene la generazione. |
/platform:[piattaforma] |
Indicazione della piattaforma della generazione in cui pubblicare i risultati del test. |
/flavor:[contrassegno] |
Indicazione della caratteristica della generazione con cui pubblicare i risultati del test. |
Utilizzo delle opzioni di MSTest
Nelle sezioni seguenti vengono dettagliatamente descritte molte delle opzioni per MSTest.exe. Le opzioni utilizzate per la pubblicazione dei risultati del test non saranno incluse; per informazioni su tali opzioni, vedere Opzioni della riga di comando per la pubblicazione dei risultati del test.
/testcontainer
/testcontainer:[nome file]
Test container è un file che contiene i test da eseguire. Ad esempio, per i test ordinati, il test container è il file .orderedtest che definisce il test ordinato. Per gli unit test, è l'assembly creato dal progetto del test contenente i file di origine dello unit test.
Nota: |
---|
Per gli unit test, è l'assembly contenente il codice del test e non l'assembly contenente il codice per l'applicazione testata. Ad esempio, se la soluzione contiene un progetto denominato BankAccount e un progetto test corrispondente denominato BankAccountTest, specificare /testcontainer:BankAccountTest.dll. |
Poiché un assembly del test contiene i test per un solo progetto di test, il numero di test container di una soluzione corrisponde al numero di progetti di test della soluzione stessa.
Nota: |
---|
Poiché anche il file di metadati del test contiene l'elenco dei test eseguibili, è necessario specificare sia l'opzione /testcontainer che /testmetadata in una sola riga di comando. Questa operazione è piuttosto ambigua e potrebbe creare un errore. |
/testmetadata
/testmetadata:[nome file]
L'opzione /testmetadata consente di eseguire i test in più Test container.
Il file dei metadati del test viene creato per la soluzione quando si creano gli elenchi di test utilizzando la finestra Editor elenco dei test. In questo file sono contenute informazioni su tutti i test elencati nella finestra Editor elenco dei test. L'elenco comprende tutti i test che esistono in tutti i progetti di test della soluzione.
È possibile modificare il file dei metadati del test apportando modifiche visibili nella finestra Editor elenco dei test, come la creazione o l'eliminazione di test o la modifica delle proprietà dei test.
Nota: |
---|
Poiché Test container contiene i test eseguibili, è necessario specificare sia l'opzione /testcontainer che /testmetadata in una sola riga di comando. Questa operazione è piuttosto ambigua e potrebbe creare un errore. |
Il file di metadati del test è un file XML creato nella cartella della soluzione. Questo file è riportato in Esplora soluzioni nel nodo Elementi di soluzione. Poiché l'estensione di un file di metadati del test è vsmdi e tale estensione è associata alla finestra Editor elenco dei test, se si fa doppio clic su un file vsmdi in Esplora risorse verrà aperto Visual Studio e il relativo contenuto. Tutti i test contenuti nei progetti di test della soluzione sono visualizzati nella finestra Editor elenco dei test.
Quando si utilizza l'opzione /testmetadata, si consiglia di indicare test specifici da eseguire utilizzando l'opzione /test o l'opzione /testlist, oppure entrambe.
/testlist
/testlist:[percorso elenco test]
L'opzione /testlist rappresenta un elenco di test, come specificato nel file di metadati del test, da eseguire. Per eseguire i test contenuti in più elenchi di test, utilizzare più volte l'opzione /testlist.
Nota: |
---|
È possibile utilizzare l'opzione /testlist solo se si utilizza anche l'opzione /testmetadata. |
È possibile utilizzare l'opzione /testlist e l'opzione /test contemporaneamente. Tale azione equivale a selezionare un elenco di test e uno o più test singoli nella finestra Editor elenco dei test e, quindi, scegliere Esecuzione dei test.
/test
/test:[nome test]
Utilizzare l'opzione /test per specificare singoli test da eseguire. Per eseguire più test, utilizzare più volte l'opzione /test.
Nota: |
---|
È possibile utilizzare l'opzione /test insieme all'opzione /testcontainer o /testmetadata ma non con entrambe. |
È possibile utilizzare l'opzione /testlist e l'opzione /test contemporaneamente. Tale azione equivale a selezionare un elenco di test e uno o più test singoli nella finestra Editor elenco dei test e, quindi, scegliere Esecuzione dei test.
La stringa specificata con l'opzione /test consente di mettere in corrispondenza i nomi dei test in un Test container o in un file di metadati del test. Ciò vuol dire che è possibile specificare più test utilizzando un solo valore per /test. Ad esempio, specificando /test:ittest vengono create le corrispondenze per i test denominati DebitTest e CreditTest perché i nomi di entrambi i test contengono la sottostringa 'ittest'.
Nota: |
---|
Il valore specificato con l'opzione /test viene testato in base non solo al nome del test ma anche al percorso del test, come visualizzato in Esplora soluzioni oppure, con gli unit test, al nome completo. |
Di seguito sono riportati due esempi di utilizzo:
Esempio di unit test: il file UnitTest1.cs nel progetto TestProject2 contiene uno unit test denominato TestMethod1. Anche specificando il valore 'ittest' per l'opzione /test viene creata la corrispondenza con questo test perché la stringa viene testata in base al nome completo "TestProject2.UnitTest1.TestMethod1" e la stringa 'ittest' viene visualizzata anche in 'UnitTest1'.
Esempio di test generico: la seguente riga di comando consente di eseguire un test generico specificato, nei risultati del test, e di visualizzare il percorso completo del test.
mstest /testcontainer:"C:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\TestProject2\TestProject2\generictest1.generic" /test:testproject32\generic
/noisolation
/noisolation
Utilizzare questa opzione per eseguire test all'interno del processo MSTest.exe. L'utilizzo di questa opzione non comporta modifiche alla configurazione di esecuzione dei test. Il suo scopo è migliorare la velocità di esecuzione dei test. Tuttavia, aumenta il rischio complessivo connesso all'esecuzione dei test, in quanto un'eccezione non gestita generata dal codice di test causerebbe l'arresto anomalo del processo MSTest.exe.
/runconfig
/runconfig:[nome file]
Utilizzare questa opzione per specificare un file di configurazione di esecuzione. Ad esempio: /runconfig:localtestrun.Testrunconfig
È possibile specificare un file di configurazione di esecuzione in altri modi, ad esempio con l'opzione /testmetadata. Le regole che gestiscono i file di configurazione di esecuzione sono descritte qui.
Se si utilizza l'opzione /runconfig, sarà utilizzato il file specificato, indipendentemente dall'utilizzo dell'opzione /testmetadata.
Se si utilizza l'opzione /testmetadata per indicare un file di metadati che specifichi il file di configurazione di esecuzione attivo, quel file sarà utilizzato se non si utilizza l'opzione /runconfig.
Se non si utilizza l'opzione /runconfig e non si specifica un file di configurazione di esecuzione nel file di metadati del test, l'esecuzione del test utilizza il file di configurazione di esecuzione predefinito.
Nota: |
---|
Quando si eseguono unit test di Smart Device, è necessario specificare l'opzione /runconfig. |
/resultsfile
/resultsfile:[nome file]
Utilizzare questa opzione per salvare i risultati di esecuzione del test nel file indicato. Ad esempio: /resultsfile:testResults.trx.
/unique
/unique
Utilizzare questa opzione /unique insieme all'opzione /test. L'opzione /unique indica a MSTest.exe di eseguire solo un test il cui nome corrisponda al valore fornito nell'opzione /test.
Ad esempio, nel Test Container MyTestProject sono contenuti i test denominati MethodTest1 e MethodTest10.
La riga di comando:
mstest /testcontainer:testproject2.dll /test:MethodTest1
consente di eseguire entrambi i test, MethodTest1 e MethodTest10, in quanto 'MethodTest1' è una sottostringa di 'MethodTest10'.
Ma la riga di comando:
mstest /testcontainer:testproject2.dll /test:MethodTest1 /unique
consente di eseguire solo il test MethodTest1.
/detail
/detail:[id proprietà]
Questa opzione consente di visualizzare proprietà aggiuntive del test case, se esistono. È possibile inviare più istanze dell'opzione /detail, ciascuna con un solo ID della proprietà, in una sola riga di comando. Di seguito sono elencati ID di proprietà validi per l'opzione /detail.
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 |
Nota: |
---|
La selezione effettiva degli ID della proprietà che è possibile utilizzare con l'opzione /detail varia in base al tipo di test. Quindi, questo elenco è solo approssimativo. In particolare, se si utilizzano tipi di test diversi da quelli inclusi in Strumenti di test Team System, la selezione delle proprietà sarà diversa. Per individuare gli ID della proprietà utilizzabili, analizzare il file dei risultati del test creato dall'esecuzione dei test. Per ulteriori informazioni sui file dei risultati del test, vedere Procedura: esportare risultati dei test. |
Se una proprietà esiste per un determinato test case, le relative informazioni sono incluse nel riepilogo dei risultati dell'output.
Ad esempio, la riga di comando:
mstest /testcontainer:Errors.dll /detail:testtype
crea il seguente output contenente le informazioni sul tipo di test:
...Results Top Level Tests-------- -----------------Inconclusive TestProject2.BankAccountTest.CreditTest[testtype] = Unit Test...