簡體   English   中英

在Visual Studio 2010中關閉Lamba表達式以獲取代碼覆蓋率

[英]Turning off Lamba Expressions in Visual Studio 2010 for Code Coverage

在使用Visual Studio 2010查看代碼覆蓋率數據時,我在給定的命名空間下看到以下輸出:

SomeClass1
SomeClass2
SomeClass2.< >c__DisplayClass1
SomeClass2.< >c__DisplayClass19
SomeClass2.< >c__DisplayClass28
SomeClass3
SomeClass3.< >c__DisplayClass2F
etc

如果我展開任何帶有“DisplayClass”的條目,我會發現它是一個在其中有lambda表達式的方法。 由於如此多的lambda表達式,很難從代碼覆蓋率結果中獲得有意義的數據。

無論如何要清理這份報告嗎?

從lambda表達式生成的函數是您編寫的代碼的直接結果。 由於編譯器的擴展,它們可能會在報告中返回,因為它具有看似很高的行數,但您想測試它們的行為是否正確。 因此,它們應該包含在報道中。

我也同意這些意見:代碼覆蓋范圍不應被視為精確的衡量標准。 我認為它有一個重要的數字。

說了這么多......我認為你最好的希望是ExcludeFromCodeCoverage屬性。 它相當靈活,但通常適用於聲明。 如何將它應用於lambda對我來說並不清楚。

您可以使用DebuggerNonUserCode屬性標記該類。

我不知道有什么方法可以排除特定的方法模式,編譯器正在將你的lambda表達式轉換為你注意到的方法(例如:SomeClass3。<> c__DisplayClass2F)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM