首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pytest-cov既生成覆盖报告,又打印到终端?

如何使用pytest-cov既生成覆盖报告,又打印到终端?
EN

Stack Overflow用户
提问于 2021-02-19 15:32:25
回答 1查看 11.8K关注 0票数 7

背景

我刚开始使用pytest和pytest-cov已经从unittest + coverage.py转换

我首先设置了自动测试,以便以这种方式运行:

python3 -m pytest --cov=myapplication

给了我这样的输出到终端:

代码语言:javascript
复制
----------- 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和注释报告选项。

问题

在相同的测试运行中,我如何既生成报告又打印到终端?(这可能吗?)

(我可以运行测试套件两次,但如果可以的话,我想一次做每件事)

我正在使用这些版本:

  • Python 3.8.5
  • pytest 6.2.2 (编写本文时的最新版本)
  • pytest-cov 2.11.1 (-"-)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-19 15:48:19

您可以通过使用终端输出格式之一指定另一个--cov-report参数来做到这一点。您可以使用--cov-report term--cov-report term-missing。例如:

代码语言:javascript
复制
python3 -m pytest --cov-report term --cov-report xml:coverage.xml --cov=myapplication

有关termterm-missing的工作方式,请参阅term

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66280468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档