2010-02-08 24 views
6

我正在查看NUnit XML輸出,並想知道是否有可能爲失敗產生輸出只有是否可以自定義NUnit XML輸出

我的意思是,如果一個測試通過OK,根本就不會生成XML輸出。

UPDATE:XSLT是不是一個不錯的選擇我不想XML輸出在所有通過了測試:如果我不需要對通過測試的細節,我不想該系統花費時間來生成這些細節。)

這個想法是,如果你有很多測試,但是輸出總是有80%的時間是無論如何你都會失敗。對於這種情況,我想以這樣的方式運行我的測試,只有失敗的信息纔會生成。

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

默認XML文件是使用它可以很容易地修改,以僅報告失敗this XSLT文件生成:

回答

1

將此問題發佈到NUnit Google Group,並且Charlie Poole confirmed沒有這個選項。

4

當您運行NUnit的console runner定製生成的文件,你可以指定一個XSLT文件。

+0

嗯,我的意思是我不希望任何輸出通過測試。如果我不需要關於通過測試的詳細信息,我不希望系統花費時間來生成這些細節。 – andreister 2010-02-08 14:40:24

+0

感謝Keith - 我們一直在尋找一種方法來控制文件的格式,而您的答案正是我們所需要的:-) – 2012-04-18 10:04:17

0

我不能保證它是否有效,但可能你可以編寫自己的插件來實現你想要的。 如果使用外掛程序鉤住擴展點「EventListeners」,則只要測試完成,您必須實現的方法TestFinished(TestResult tr)將會被調用。只需讀取結果並僅在失敗的測試中將屬性WriteResultEntry設置爲true。那麼我不確定查理是否實現了後者的屬性,但是如果不是,你的插件仍然可以爲失敗的測試創建自己的NUnit結果文件。

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

如果沒有這樣的屬性WriteResultEntry,要求查理執行它或當result.IsFailure是真的只寫輸出創建自己的結果報告。

相關問題