pytest-cov 的簡單應用
pytest-cov 幫我們理解系統的測試涵蓋率,讓我們可以更好的寫好 test case 來避免所謂的全民公測 ヾ(;゚;Д;゚;)ノ゙
介紹
pytest-cov
可以產生出測試涵蓋率的報表,相較於原生地 coverage 似乎是支援了 subprocess 與 xdist,詳細可看
使用
CLI
--cov
代表要計算測試涵蓋的資料夾
tests/
則是測試檔案置放的地方兒
pytest --cov=myproj tests/
不過我們通常都是用
pytest.ini
或是.coveragc
來設定
pytest.ini 的 coverage 設定
--cov=<path>
計算測試涵蓋的資料夾,可以重複指定--cov-report=<type>
測試報表的種類 (term, term-missing, annotate, html, xml) ,可以重複指定。annotate, html, xml 可設定輸出報表檔案的位置--cov-report=html:cov_html
。詳細可看 reference— cov-config=<path>
預設是.coveragec
檔案,在裡面可設定像是不納入涵蓋的檔案。
我比較常用的是這三個,其他還有像是開啟關閉 coverage failed/debug 的狀態或是 coverage branch enable,詳細可參考下面的網址
[pytest]
addopts =
--cov=<project-name>
--cov-report=html
--cov-config=.coveragec
結論
就是上一篇介紹了 pytest 的忽略,發現可以來寫一篇關於 pytest-cov 的簡單使用 (成功的再賺一篇 (●´ω`●)