如何在 Python 中使用 pytest-cov 模块进行测试覆盖率统计
pytest-cov 是一个用于 Python 单元测试的测试覆盖率统计工具。它可以方便地生成代码覆盖率报告,并可以通过多种输出格式展示测试结果。本文将介绍如何使用 pytest-cov 进行测试覆盖率统计。
- 安装 pytest-cov
首先,需要安装 pytest-cov 模块。可以通过 pip 命令进行安装:
pip install pytest-cov
- 编写测试代码
编写一个简单的测试用例,测试一个字符串是否包含“pidancode.com”:
def test_string_contains_pidancode(): string = "Welcome to pidancode.com" assert "pidancode.com" in string
- 运行测试
使用 pytest 运行测试代码,同时开启覆盖率统计:
pytest --cov=. test_sample.py
其中,--cov=. 表示统计当前目录的代码覆盖率,test_sample.py 是测试文件的文件名。
- 查看统计结果
在运行结束后,pytest-cov 会输出测试覆盖率统计结果,包括覆盖率百分比、未覆盖的代码行等信息。例如:
----------- coverage: 100.0% ----------- Name Stmts Miss Cover ---------------------------------- test_sample 3 0 100% ---------------------------------- TOTAL 3 0 100%
其中,Stmts 表示代码行数,Miss 表示未覆盖的代码行数,Cover 表示代码覆盖率百分比。
- 生成报告
可以使用 --cov-report 参数生成各种格式的报告,包括 html、xml、json 等。例如,生成 html 报告:
pytest --cov=. --cov-report html test_sample.py
运行结束后,会在当前目录下生成一个 htmlcov 目录,其中包含代码覆盖率报告的 HTML 文件。
以上是使用 pytest-cov 进行 Python 单元测试的测试覆盖率统计的基本过程。通过以上步骤,可以很方便地统计代码覆盖率,并在需要的时候生成报告。
相关文章