2010-09-17 78 views
4

當我運行我的單元測試時,我想打印出來並閱讀運行一個函數需要多長時間。我嘗試使用Console.WriteLine()Trace.WriteLine(),但沒有奏效。任何人都知道我應該使用的正確方法?在UnitTests中輸出文本

我有以下的單元測試

[TestMethod()] 
public void ProductSerializationTest() 
{ 

    Stopwatch swSerialization = new Stopwatch(); 
    swSerialization.Start(); 
    SerializeProductsToXML(dummyProductList, XMLFolderPath); 
    swSerialization.Stop(); 
    //Print out swSerialization.Elapsed value 
} 
+1

你想打印什麼?調試器窗口,還是您正在從控制檯應用程序運行測試並想要打印到實際控制檯? – 2010-09-17 18:05:05

+0

我想打印出最方便的窗口。從我所看到的,輸出窗口似乎是最方便的。 – burnt1ce 2010-09-17 18:16:09

+0

我剛剛使用了Debug.Print()。在你的測試資源管理器(VS)中點擊你的測試,在底部應該有一個名爲Output的鏈接,點擊它 – Archmede 2016-06-09 21:18:16

回答

5

如果你正在使用Visual Studio,其內置的測試支持,System.Diagnostics.Trace.WriteLine輸出將去測試結果報告。也就是說,在測試運行後,雙擊測試結果列表中的條目,測試運行報告中會出現一個名爲「調試跟蹤」的部分。

2

由於您使用的是Microsoft.VisualStudio.TestTools.UnitTesting,因此最合理的方法是撥打TestContext.WriteLine()。這裏是how to use a TestContext


由於我使用測試驅動和NUnit,我只是Console.WriteLine(),並且消息顯示當我運行調試測試。

0

我有同樣的問題。我終於找到了解決辦法。當您在VS中運行測試時,請注意綠色檢查或紅色x?現在單擊該鏈接,然後點擊說輸出的鏈接

即使未處於調試模式,也會顯示所有Trace.WriteLine()