Skip to content

pytest-cov 代码覆盖率测试

pytest-cov 快速实例。

官方文档:

Welcome to pytest-cov's documentation! - pytest-cov 3.0.0 documentation

最小示例

基本示例:myproj 是被测项目,tests是测试脚本文件夹。

pytest --cov=myproj tests/

会使用test 文件夹下的所有pytest 测试脚本测试myproj 下的测试覆盖率,对myproj子文件夹下的代码,如果被import过了,会显示在覆盖率测试中,如果完全没有被myproj 文件夹下的文件import到,那直接不显示。

其他常用参数:

  • --cov-report term-missing:输出未覆盖的行号
  • --cov-report html:cov_html:输出html报告到cov_html 文件夹下
  • 注:这些参数可重复、叠加给出

使用配置文件

官方配置文件:

Configuration reference - Coverage.py 6.3.2 documentation

在测试脚本同目录下创建.coveragerc文件:

[run]
# 被测代码所在文件夹
source = ../
# 忽略对当前文件夹下Python文件的覆盖率测试
omit = ./*
# 分支覆盖率统计
branch = on
# 被测代码使用的多线程库,默认是thread
# concurrency = greelet

然后使用pytest --cov 即可运行测试

Comments