2013-01-04 44 views
3

在某些代碼覆蓋工具中,您可以從覆蓋率工具中「隱藏」某些代碼行,以便這些行不計入覆蓋率總計。例如,某些代碼只能在難以測試或無法測試的情況下運行(例如某些硬件故障)。因此,即使某些代碼未被執行,您也可能會得到100%的覆蓋率報告。如何讓Perl的Devel :: Cover忽略coverage中的某些行?

暫時擱置這是否明智,這種事情可能與Perl的Devel::Cover

Devel::Cover可以忽略整個文件,但我感興趣的忽視只是一個單一的文件中的幾行。)

+0

你能提供一個你想忽略的樣本嗎?這聽起來像你正試圖解決錯誤的問題。 – Ilion

回答

2

按照TODO file CPAN上,此功能目前不支持,但開發商把它看作是一個有價值的補充:

  • 增強:
    • 標識可達代碼的 - 命令行工具的d gui。

cover腳本提到有前景的選擇:-add_uncoverable_point-delete_uncoverable_point

4

很多不可執行的代碼功能已經實現,但沒有記錄,因爲我不確定該界面。然而,這一領域的任何變化已經過去了幾年。

查看如何使用這些功能的最簡單方法是查看分佈中的測試/不可分析(請參閱https://github.com/pjcj/Devel--Cover/blob/master/test/uncoverable)。如果您不能或不想更改您的代碼,則可以使用.uncoverable文件(請參閱https://github.com/pjcj/Devel--Cover/blob/master/tests/.uncoverable)和工具提到的封面選項。

如果你這樣做,一定要使用basic_html報告,如果你將它標記爲無法修改,但無論如何都會被執行,這將會將錯誤標記爲錯誤。

我真的應該到處去整理一切並記錄下來。

+0

鏈接https://github.com/pjcj/Devel--Cover/blob/master/test/uncoverable已損壞。 – rlandster

+0

我認爲第一個URL應該是https://github.com/pjcj/Devel--Cover/blob/master/tests/uncoverable(注意'測試'而不是'測試')。 – rlandster

相關問題