2010-07-15 25 views
2

這個答案已經很簡單,但我肯定沒有看到它。與VS 2010 NUnit不再停止在斷點

我正在處理VS2010下的MVC2項目,並使用NUnit編寫了單元測試。

我通過啓動NUnit GUI來調試測試(和代碼),然後單擊調試 - >在VS中附加到進程,並附加到nunit-agent。

這一切都運行良好一段時間。

我爲今天早上發現的一個bug添加了一個額外的測試,突然間,我的斷點沒有被擊中。 NUnit只是愉快地運行,並說測試通過了(它不應該,因爲我還沒有修復這個bug),而且沒有停在我在測試方法中第一個可執行行上設置的斷點上。

我看過我能想到的所有東西,包括重新啓動機器,但我無法弄清楚發生了什麼變化。 (FWIW,測試項目配置爲在.NET 3.5下運行,並且運行的是NUnit 2.5.4。我在nunit.exe.config的部分添加了4.0「supportedRuntime」標誌和「loadFromRemoteResources」標誌,並且我也嘗試附加到nunit.exe而不是nunit-agent.exe。注意,我沒有得到帶有「源代碼無法加載」消息的禁用斷點按鈕。斷點是標準的紅色球,它們只是從來沒有得到點擊。)

回答

3

答案確實很簡單。

順便說一句,我一直在使用VS2010通過附加到瀏覽器來調試腳本代碼。當您在調試器中附加進程時,必須告訴它您正在調試的是哪種代碼,並且調試腳本代碼與調試託管代碼不兼容,因此它會關閉託管代碼。顯然VS記得你最後的選擇。

所以,當我試圖連接到N單元,它選擇腳本作爲我想調試的代碼類型,我沒有注意到。我所要做的只是選擇「附加到進程」對話框中的下拉框,然後檢查託管代碼。

感謝保羅·勞德曼在他的CodeBetter Blog

0

嘗試附加到nunit-agent.exe進程。這對我有效。

+0

對不起,回答之前我讀到底部。 AFAIK,你正在做你應該做的一切。 – 2010-07-15 17:41:09