2010-02-08 13 views
6

Sto guardando l'output di NUnit XML in questo momento e mi chiedo se è possibile generare l'output solo per gli errori.È possibile personalizzare l'uscita NUnit XML

Voglio dire, se un test passa ok, nessun output XML viene generato per questo.

(UPDATE: XSLT non è un'opzione qui Non voglio output XML per i test superato a tutti:. Se non ho bisogno i dettagli circa il superamento delle prove, io non voglio il sistema per passare il tempo a generare quei dettagli.)

L'idea è che l'output XML tende ad essere piuttosto grande se si hanno molti test, ma l'80% del tempo si sta comunque verificando. In questi casi, mi piacerebbe eseguire i miei test in modo tale da generare solo le informazioni sugli errori.

risposta

1

Pubblicato questa domanda a NUnit Google Group, e Charlie Poole confirmed che non esiste tale opzione.

4

È possibile specificare un file XSLT quando si esegue il NUnit console runner per personalizzare il file generato: file XML

nunit-console /transform:failures.xslt nunit.tests.dll 

Il valore predefinito è generato con this file XSLT che può essere facilmente modificato per segnalare solo fallimenti.

+0

Beh, voglio dire che non voglio alcun output per i test superati. Se non ho bisogno dei dettagli sui test passati, non voglio che il sistema impieghi tempo a generare quei dettagli. – andreister

+0

Grazie Keith - stavamo cercando un modo per controllare il formato del file e la tua risposta fa esattamente ciò di cui avevamo bisogno :-) –

0

Non posso garantire se funziona, ma forse è possibile scrivere il proprio addin per ottenere ciò che si desidera. Se ci si collega al punto di estensione "EventListeners" con il proprio componente aggiuntivo, il metodo TestFinished (TestResult tr) che si dovrà implementare verrà chiamato ogni volta che un test è terminato. Basta leggere il risultato e impostare la proprietà WriteResultEntry su true solo per i test non riusciti. Beh, non sono sicuro che Charlie abbia implementato la seconda proprietà, ma in caso contrario, il tuo addin potrebbe comunque creare il tuo file di risultato NUnit solo per i test falliti.

/// <summary> 
/// Test finished. 
/// </summary> 
/// <param name="result">The result.</param> 
public void TestFinished(TestResult result) 
{ 
    if (!result.IsFailure) 
    {    
     result.WriteResultEntry = false; 
    } 
} 

Se c'è alcuna proprietà quali WriteResultEntry, chiedere Charlie per la sua attuazione o creare il proprio rapporto di risultato per la sola scrittura di uscita quando result.IsFailure è vero.

Problemi correlati