当前位置: 首页 > 知识库问答 >
问题:

如何使用pytest cov生成覆盖率报告并打印到终端?

穆高澹
2023-03-14

我不熟悉使用pytest和pytest cov,因为它已经从unittest覆盖范围切换过来。派克

我首先将自动测试设置为以这种方式运行:

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

----------- 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-mpytest--cov报告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 (-"-)

共有1个答案

娄振
2023-03-14

可以通过使用一种终端输出格式指定另一个--cov report参数来完成此操作。您可以有--cov报告术语--cov报告术语缺失。例如:

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

有关术语术语缺失的工作原理,请参阅链接到的pytest cov文档。

 类似资料:
  • 问题内容: 我正在尝试使用lcov为我的单元测试套件生成覆盖率报告,但是我什至无法捕获跟踪文件。错误消息表明找不到源文件。该代码由构建机器上的Jenkins作业编译,单元测试作为目标机器上的下游作业执行。源代码和gcno文件被传输到下游作业,然后下游作业执行对lcov的调用。以下是所有详细信息,可能需要一杯咖啡。 在构建机器上,执行make 我想要覆盖的源代码在以下子目录中 目标文件和gcno文件

  • 使用 Robolectric 和 Android 生成代码覆盖率(测试)报告 原文链接 : Code coverage reports using Robolectric and Android 原文作者 : Kris Vandermast 译文出自 : 开发技术前线 www.devtf.cn 译者 : normalme 校对者: Mr.Simple 状态 : 校对中 我写过许多测试驱动开发与陷阱

  • 我正在为一个项目编写集成测试,在这个项目中,我正在进行HTTP调用,并测试它们是否成功。 因为我没有导入任何模块,也没有直接调用函数coverage.py报告为0%。 我想知道如何为此类集成HTTP请求测试生成覆盖率报告?

  • 我使用sonarqube作为测试结果的输出,而maven和Jacoco用于测试测试用例。 Sonarqube版本是5.4 Maven版本是3.3.9 Jacoco版本0.7 这是我的pom.xml 我也在这里跟踪这个链接,但是对于我正在使用的文件,请在这里输入链接描述。 这就是我构建测试项目的方式 buiild返回成功,但没有生成代码覆盖率我还通过去sonarqube检查了这一点localhost

  • v2.0 Codecov报表 , 从2017-12-29后开始统计 测试覆盖率为 : , 可以从 https://codecov.io/gh/apache/dubbo 页面得到覆盖率报表 v1.0 基于 2.0.12 版本,统计于 2012-02-03