背景
我刚开始使用pytest和pytest-cov已经从unittest + coverage.py转换
我首先设置了自动测试,以便以这种方式运行:
python3 -m pytest --cov=myapplication
给了我这样的输出到终端:
----------- 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之后,我不再将任何输出发送到终端
看看pytest-cov文档,我发现:
这三个报表选项输出到文件中,而终端上没有显示任何内容:继续显示xml、html和注释报告选项。
问题
在相同的测试运行中,我如何既生成报告又打印到终端?(这可能吗?)
(我可以运行测试套件两次,但如果可以的话,我想一次做每件事)
我正在使用这些版本:
发布于 2021-02-19 15:48:19
您可以通过使用终端输出格式之一指定另一个--cov-report参数来做到这一点。您可以使用--cov-report term或--cov-report term-missing。例如:
python3 -m pytest --cov-report term --cov-report xml:coverage.xml --cov=myapplication有关term和term-missing的工作方式,请参阅term。
https://stackoverflow.com/questions/66280468
复制相似问题