我有幾個單元測試助手擴展方法,例如我也寫過單元測試的IsNotEmpty(this string str)
。這些測試的基本結構是我有一個測試,用於驗證擴展方法是否通過並在「好」輸入上返回預期結果,並驗證是否在「壞」輸入上引發了失敗異常。例如,對於上述方法的測試失敗可能是這樣的:針對故意失敗測試的NCover代碼覆蓋率結果
[TestMethod, Fails]
public void IsNotEmpty_Fails_On_Empty_String()
{
"".IsNotEmpty();
}
其中Fails
是我寫我自己的屬性 - 基本上爲[ExpectedException(typeof(AssertFailedException))]
的代理。所以我明確預計上述測試中唯一的一個例外,因此,我是而不是期望該方法一直運行。
但是當我右鍵點擊我的解決方案時,選擇「Test with-> NCover」,在上述所有方法中,我得到的代碼覆蓋率小於100%,末尾大括號突出顯示爲紅色。
爲什麼NCover抱怨我的測試方法沒有完成,當我說它不會?
**)對於所有那些會回覆100%代碼覆蓋率沒有必要的人:不,我並不特別擔心無論如何都要維護100%的代碼覆蓋率。但是,在這些情況下,* do 問題的方法顯示爲不在列表中,並且我必須一直進入樹中才能看到它只是它們。這就是我試圖在這裏得到的問題 - 一般不是100%的代碼覆蓋率。
好搭檔!更改構建遷移到發佈修復它=) – 2010-07-23 06:22:28
我遇到了與dotCover相同的問題。 – heymega 2016-03-24 14:53:27