2011-02-24 65 views
3

我正在使用NUnit測試F#項目。在項目配置的調試選項卡上,我將調試器設置爲使用外部程序,這裏是nunit-console,工作目錄是我的項目的調試文件夾。由於GUI版本沒有打到測試文件的斷點,因此我更喜歡使用nunit-console與調試器。將'nunit-console'輸出重定向到Visual Studio輸出窗口

當我調試測試時,控制檯窗口出現並消失,並且沒有機會讀取輸出。我試過Console.Readline(),但它不起作用,因爲當我使用nunit-console直接從終端運行測試時,由於此命令而失敗。

有沒有辦法將nunit-console輸出重定向到Visuals Studio的輸出窗口?

更新:當我從控制檯運行測試時,我可以使用Thread.Sleep()延遲nunit-console.exe。但是從Visual Studio它不會發生,所以我非常肯定nunit-console.exe在命令由Visual Studio發佈時無法讀取測試文件。不過,能夠讀取控制檯輸出會非常好,因此重定向仍然是可取的。

回答

1

可以使用工具 - >選項...->調試 - >常規:「將所有輸出窗口文本重定向到立即窗口」然後確保「調試 - > Windows- >即時。

或者使用NUnit的「/wait」命令行選項。

+0

/wait選項很有效。但是,我還有另一個問題,您可能會好意回答?現在我可以看到nunit控制檯的輸出了,我可以確保測試正在運行,但它不會觸發斷點。你知道爲什麼嗎?我很抱歉,如果我的問題是愚蠢的我只使用.NET和F#很短的時間。 – amirmonshi 2011-02-24 13:18:53

+0

我現在正在使用TestDriven.NET,它修復了斷點問題。 – amirmonshi 2011-02-24 14:00:11

0

除非我遺漏了一些東西,否則您應該可以使用GUI來打所有斷點,將啓動項目設置爲nunit.exe並將測試DLL的名稱作爲命令行參數傳遞。您將在Visual Studio中創建斷點,並且您的打印語句將位於GUI's輸出選項卡中。

+0

謝謝亞歷克斯。我目前正在使用滿足我需求的TestDriven.NET :) – amirmonshi 2011-02-25 14:54:50

相關問題