簡體   English   中英

如何使用 pytest-cov 生成覆蓋率報告並打印到終端?

[英]How can I use pytest-cov to both generate a coverage report and also print to terminal?

背景

我不熟悉使用 pytest 和 pytest-cov 已從 unittest + coverage.py 切換

我首先將我的自動化測試設置為以這種方式運行:

python3 -m pytest --cov=myapplication

這給了我 output 這樣的終端:

----------- coverage: platform linux, python 3.8.5-final-0 -----------
Name                        Stmts   Miss  Cover
-----------------------------------------------
myapplication/__init__.py       0      0   100%
myapplication/file.py          30     30     0%
myapplication/another_file.py  20      6    70%
[...]
-----------------------------------------------
TOTAL                        1195    464    61%

然后我想生成一個 xml 報告所以我改變了命令:

python3 -m pytest --cov-report xml:coverage.xml --cov=myapplication

問題

我遇到的問題是,在添加--cov-report xml:coverage.xml后,我不再得到任何 output 到終端

查看 pytest-cov 的文檔,我發現:

這三個報告選項 output 到文件而不在終端上顯示任何內容:[繼續顯示 xml、html 和注釋報告選項]

問題

如何在同一測試運行中既生成報告又打印到終端? (這甚至可能嗎?)

(我可以運行測試套件兩次,但如果可以的話,我想一次做所有事情)


我正在使用這些版本:

  • Python 3.8.5
  • pytest 6.2.2(撰寫本文時的最新版本)
  • pytest-cov 2.11.1 (-"-)

您可以通過使用終端 output 格式之一指定另一個--cov-report參數來執行此操作。 您可以有--cov-report term--cov-report term-missing 例如:

python3 -m pytest --cov-report term --cov-report xml:coverage.xml --cov=myapplication

請參閱您鏈接到的 pytest-cov 文檔,了解termterm-missing工作方式。

暫無
暫無

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

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