2011-12-27 93 views
1

我使用的是Visual Stdio 2010及其測試和代碼覆蓋功能,並且我有一堆生成的代碼,我不想將其包含在代碼覆蓋率結果中。這些是作爲部分類生成的。Visual Studio 2010部分類的代碼覆蓋

我在幾個地方看過(例如:How to ignore generated code from code coverage data)我如何讓代碼覆蓋工具忽略整個類或使用屬性的特定成員。因此,我修改了生成器以在其生成的所有類中包含[ExcludeFromCodeCoverage]屬性,但是這會阻止我在部分代碼中編寫的代碼被跟蹤以進行代碼覆蓋。

我該如何進行設置,使得我在代碼覆蓋率結果中包含的代碼中手動編寫的代碼是,但生成的代碼是不是?我現在看到的唯一選擇是挖掘生成器(一個長而難看的T4模板),並在屬性/方法級別而不是在類級別添加[ExcludeFromCodeCoverage]屬性。有另一種方法嗎?我還沒有看到任何像[IncludeFromCodeCoverage]這樣的東西,我可以將其添加到少數部分手寫的屬性/方法中,以包含那些忽略自動生成的類的其餘部分。

回答

0

您並不是唯一一個請求此項作爲ExcludeFromCodeCoverage和其他How to ignore generated code from code coverage data顯示。

我已經看到了這與其他一些做的另一種方式(如ncoverpartcover)覆蓋工具是後期處理的結果,即如果XML使用XSLT轉換XML刪除有關生成泛音,然後覆蓋數據生成覆蓋率報告。

您可能可以應用此方法或類似的方法,因爲您看起來可以訪問XML中的覆蓋率數據。

OpenCover有一個文件過濾器,它允許您排除文件中與過濾器匹配的所有方法,只是爲了生成文件的名稱趨向於遵循已知模式而創建的,它還允許使用多個過濾器。

相關問題