如何使用 pytest-cov-report 在 Python 中生成测试覆盖率报告
- 安装 pytest-cov 和 coverage
在终端中执行下面的命令安装 pytest-cov 和 coverage:
pip install pytest-cov coverage
- 编写测试用例
创建一个名为 test_sample.py 的文件,编写测试用例:
def test_len(): s = "pidancode.com" assert len(s) == 13 def test_upper(): s = "pidancode.com" assert s.upper() == "PIDANCODE.COM" def test_split(): s = "pidancode.com" assert s.split(".") == ["pidancode", "com"]
这里我们使用字符串 "pidancode.com" 作为测试范例。
- 执行测试
在终端中执行下面的命令执行测试并生成测试覆盖率报告:
pytest --cov=. --cov-report=html
这里使用了 pytest-cov 提供的 --cov 和 --cov-report 参数。--cov 参数指定需要测试覆盖率的代码目录,这里我们指定为当前目录(.)。--cov-report 参数指定覆盖率报告的类型,这里我们选择生成 HTML 报告。
执行完毕后,会在当前目录下生成一个 htmlcov 目录,包含了覆盖率报告。
- 查看测试覆盖率报告
打开 htmlcov 目录下的 index.html 文件,即可查看详细的测试覆盖率报告。可以看到每个函数、分支、语句的测试覆盖率情况。
在这个例子中,我们可以看到三个测试用例完全覆盖了代码中的每个函数、分支和语句,测试覆盖率达到了 100%。
相关文章