2010-07-27 58 views
3

摘要:我可以運行單元測試和代碼覆蓋,但報告只包含NUnit類,而不包括我的應用程序類。NUnit 2.5.6 + PartCover 2.0/4.0 =我的班級未顯示

我以前成功使用過PartCover。現在不是這樣。我嘗試了最新的PartCover(4.0),降級到了下一個最新版本(2.0),兩者都使用NUnit 2.5.6。

我在一些命名空間中創建了一個簡單的.NET 4.0類庫(也嘗試使用具有一個類庫的項目的Web應用程序),並且在另一個類的另一個庫中創建了兩個測試方法。

NUnit/PartCover安裝正確;我可以在NUnit和PartCover中運行NUnit測試(我可以看到它們運行並說「2通過」),但報告只顯示NUnit命名空間。 (是的,我正在使用+ []作爲我的覆蓋規則。)

任何想法?儘管我喜歡NUnit,但我希望看到我自己的類的覆蓋範圍:o)

而且我也試着對齊測試DLL和代碼DLL命名空間,但沒有成功。

編輯:我試着重新運行我以前工作的代碼覆蓋的樣本從一年前;所有測試都會運行,但實際的項目命名空間不會顯示。這裏有一個提示,這似乎暗示它取決於你使用的NUnit版本:http://sourceforge.net/projects/partcover/forums/forum/605222/topic/3308367(是的,我已經嘗試了appdomain-reporting複選框)

我試過NUnit 2.5.5.x和2.5。 6.x和兩者都給了我相同的結果。

編輯:看來這叉的官方版本4.0似乎工作,雖然偶爾(谷歌的PartCover叉,我不能添加多個超鏈接)

+1

嘗試NCover;)... – 2010-07-27 19:03:49

+7

我很樂意。發送您的信用卡信息,我馬上開始:o) 說真的,我是一個開發小型低調項目的開發人員。 PartCover是偉大的,因爲它是免費的,它用於爲我工作;因此,我希望能夠重新開始工作,而不是轉向現在無法承受的東西。 – ashes999 2010-07-27 19:15:22

回答

1

瘋狂。顯然,在NUnit打印出總傳遞/失敗的摘要並等待第二個「CoreProfiler已關閉」消息大約一秒鐘後,按下鍵盤上的暫停/斷點,使其全部工作。

當然,這不可能是真正的解決方案。當然,我可以製作一個批處理文件,在執行完NUnit後會睡1秒,但這似乎是一個重大的黑客攻擊。

+0

我可以暫停但不能恢復 – 2010-08-03 03:54:35

+0

適用於我:/嘗試使用此批處理文件(使用ping作爲緩慢暫停)。只要告訴PartCover使用這個批處理文件而不是nunit-console.exe。 nunit-console.exe%REMEDAY !!%1%2%3%4%5%6%7%8%9 ping 127.0.0.1 -n 3> nul – ashes999 2010-08-03 17:22:48

1

正確的處理方法是將所需的運行時間添加到nunit的配置中。你會注意到NUnit運行在CLR 2.0而不是4.0。對這個問題有很多答案,但我首先發現this one。獨自做這件事爲我固定。請注意,您的運行時版本可能略有不同。您可能需要確認。