[英]How to obtain aggregated coverage per subpackage from pytest-cov?
我在大型代碼庫上將 pytest 與pytest-cov插件結合使用。 總的來說,我知道各種 output 報告生成器和 html output 在分析單個文件的覆蓋率信息時提供了很大的價值,即在查看單個文件時,尤其是它們的行覆蓋率時。
我還知道 pytest 報告的“總”覆蓋率,這當然是在整個項目中匯總的。
當我還沒有弄清楚如何在總計和文件級別之間獲取覆蓋信息時。 假設頂級 package 名稱是foo
,它包含數千個文件,這些文件被結構化為各種(有時是深度嵌套的)子包。 在開發某個子包時說foo.bar.baz
(它本身可能有大約數百個文件),如果我能獲得專門針對foo.bar.baz
的覆蓋范圍,那將非常有用。 不幸的是,“文件級別”報告在這種情況下無濟於事,因為在精神上匯總foo.bar.baz
中的所有文件幾乎是不可能的。
有沒有一種簡單的方法來獲得每個子包的覆蓋范圍?
您可以獲取 JSON 形式的數據(使用coverage json
),然后自己進行后處理。 coverage.py 沒有辦法做到這一點。
這樣做的一個例子是goals.py ,它提供了對文件子集的限制和檢查。 也許它可以幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.