pytest-cov 的簡單應用

pytest-cov 幫我們理解系統的測試涵蓋率,讓我們可以更好的寫好 test case 來避免所謂的全民公測 ヾ(;゚;Д;゚;)ノ゙

Kiwi lee
3 min readJan 25, 2022
from pytest-cov official website

介紹

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 的簡單使用 (成功的再賺一篇 (●´ω`●)

Reference

--

--

Kiwi lee
Kiwi lee

Written by Kiwi lee

Hi, I'm kiwi, Platform Engineer (SRE, DevOps). Python Engineer. Love art, books, longboard. https://kiwilee-blog.netlify.app/

No responses yet