如何使用 pytest-cov-report 在 Python 中生成测试覆盖率报告

2023-04-13 00:00:00 pytest 如何使用
  1. 安装 pytest-cov 和 coverage

在终端中执行下面的命令安装 pytest-cov 和 coverage:

pip install pytest-cov coverage
  1. 编写测试用例

创建一个名为 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" 作为测试范例。

  1. 执行测试

在终端中执行下面的命令执行测试并生成测试覆盖率报告:

pytest --cov=. --cov-report=html

这里使用了 pytest-cov 提供的 --cov 和 --cov-report 参数。--cov 参数指定需要测试覆盖率的代码目录,这里我们指定为当前目录(.)。--cov-report 参数指定覆盖率报告的类型,这里我们选择生成 HTML 报告。

执行完毕后,会在当前目录下生成一个 htmlcov 目录,包含了覆盖率报告。

  1. 查看测试覆盖率报告

打开 htmlcov 目录下的 index.html 文件,即可查看详细的测试覆盖率报告。可以看到每个函数、分支、语句的测试覆盖率情况。

在这个例子中,我们可以看到三个测试用例完全覆盖了代码中的每个函数、分支和语句,测试覆盖率达到了 100%。

相关文章