pytest配置文件 -- pytest.ini

1. pytest.ini文件的作用

pytest.ini是Pytest测试框架的配置文件,用于配置框架的行为和参数。通过编辑pytest.ini文件,可以对Pytest测试运行进行自定义设置,从而更好地满足测试需求。在项目开发过程中,可以根据实际情况修改pytest.ini文件,以便灵活控制测试环境、结果输出、插件设置等。

2. 编写pytest.ini文件

2.1 指定测试文件和目录

Pytest默认会自动收集当前目录下以test_开头或以_test结尾的文件,也会递归搜索以test_开头或以_test结尾的目录。如果需要指定特定文件或目录进行测试,可以在pytest.ini文件中进行配置。

要指定测试文件,可以使用addopts选项,如下所示:

[pytest]

addopts = test_file.py

要指定测试目录,可以使用testpaths选项,如下所示:

[pytest]

testpaths = tests/

这里需要注意的是,多个文件或多个目录可以使用空格进行分隔。

2.2 禁止收集某些文件或目录

有时候,我们希望在运行测试时不收集某些文件或目录,可以通过使用python_filespython_classes选项来实现。

下面的示例将禁止收集名字以"test_"开头的文件:

[pytest]

python_files = !test_*

下面的示例将禁止收集名字以"test_"开头的类:

[pytest]

python_classes = !Test_*

2.3 使用插件

Pytest支持第三方插件,可以通过在pytest.ini文件中配置来启用或配置插件。首先需要安装相应的插件,然后在pytest.ini文件中的plugins选项中指定插件的名称。

[pytest]

plugins = pytest-html

2.4 设置报告输出格式

Pytest提供了多种可视化的报告输出格式,包括文本、HTML、XML等。在pytest.ini文件中,可以通过设置console_output_styleaddopts选项来指定报告输出格式。

下面的示例将报告输出格式设置为文本:

[pytest]

console_output_style = classic

addopts = --tb=short

下面的示例将报告输出格式设置为HTML:

[pytest]

console_output_style = classic

addopts = --html=report.html

2.5 控制测试顺序

有时候,我们希望按照某种顺序执行测试用例,可以通过使用python_classespython_functions选项来控制测试顺序。

下面的示例将测试用例按照类名的字母顺序执行:

[pytest]

python_classes = Test*

python_functions = test_*

2.6 设置全局变量

在测试过程中,有时候需要使用全局变量来记录测试结果或传递参数。可以通过在pytest.ini文件中使用env选项来设置全局变量。

下面的示例将设置一个名为"temperature"的全局变量,并赋值为0.6:

[pytest]

env =

temperature = 0.6

3. 运行测试

当pytest.ini文件配置完成后,我们可以使用pytest命令来运行测试。Pytest会自动加载pytest.ini文件,并按照配置的参数执行测试。

下面的示例是运行测试的命令:

$ pytest

4. 小结

通过编辑pytest.ini文件,我们可以对Pytest测试框架的行为和参数进行配置。配置文件中可以设置测试文件和目录、禁止收集文件或目录、使用插件、设置报告输出格式、控制测试顺序、设置全局变量等。正确使用pytest.ini文件可以帮助我们更好地控制和管理测试环境,提高测试效率和准确性。

注意:temperature=0.6,这个值在第2.6节已经设置为全局变量了。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签