运行pytest的基础知识

1. pytest的介绍

pytest是一个Python的测试框架,它能够轻松地进行单元测试和功能测试。它具有简单易用、灵活、扩展性强等特点,因此在Python开发社区中得到了广泛的应用。

2. pytest的安装

2.1 使用pip安装pytest

在命令行中执行以下命令即可安装最新的pytest版本:

pip install pytest

安装完成后,可以使用以下命令检查pytest是否安装成功:

pytest --version

如果安装成功,会显示pytest的版本号。

2.2 安装其他依赖包

pytest在运行过程中可能需要其他一些附加的依赖包,可以使用pip进行安装。

pip install pytest-cov  # 用于测试覆盖率

pip install pytest-html # 用于生成测试报告

3. 编写测试用例

在编写测试用例之前,需要首先创建一个测试文件,以.py结尾,并以test_开头,比如test_example.py

在测试文件中,可以使用以下方式定义测试函数:

def test_function_name():

# 测试代码

3.1 断言

在编写测试用例时,最常用的就是断言功能。pytest中提供了多种断言方法,常用的有:

assert 表达式:判断表达式是否为真。

assert 表达式1 == 表达式2:判断两个表达式是否相等。

assert 条件, 错误信息:如果条件为假,抛出异常并输出错误信息。

断言的使用可以保证测试用例达到预期的结果,如果断言失败,可以快速定位问题所在。

4. 执行测试用例

在命令行中,可以使用以下命令执行测试用例:

pytest

pytest会自动去查找当前目录下所有的测试文件,并执行其中的测试用例。

4.1 运行指定的测试文件

如果只想运行指定的测试文件,可以使用以下命令:

pytest 测试文件名

4.2 运行指定的测试函数

如果只想运行指定的测试函数,可以使用以下命令:

pytest 测试文件名::测试函数名

5. 测试报告和测试覆盖率

5.1 生成测试报告

pytest支持生成测试报告,默认情况下会在测试目录下生成一个report.html文件。可以使用以下命令生成报告:

pytest --html=报告文件名

生成的报告可以在浏览器中打开查看。

5.2 测试覆盖率

pytest-cov可以用于度量代码的测试覆盖率。可以使用以下命令运行测试用例,并生成测试覆盖率报告:

pytest --cov=代码目录 --cov-report=html

这样会在当前目录下生成一个htmlcov文件夹,里面包含了测试覆盖率的报告。

6. 配置文件

pytest可以使用配置文件来配置一些参数。创建一个pytest.ini文件,并在其中配置需要的参数。比如可以配置测试目录、测试文件的命名规则等。

下面是一个示例的pytest.ini文件:

[pytest]

python_files = test_*.py

testpaths = tests

addopts = --cov=my_project --cov-report=html

其中,python_files配置了以test_开头的测试文件;testpaths配置了测试文件所在的目录;addopts配置了运行pytest的参数。

7. 总结

此篇文章主要介绍了pytest的基础知识,包括安装、编写测试用例、执行测试用例、生成测试报告和测试覆盖率等内容。pytest作为一个简单易用、灵活、扩展性强的测试框架,在Python开发中具有重要的作用。掌握了pytest的基础知识,可以更加高效地进行软件测试。

后端开发标签