Pytest Conftest.py
我们可以在这个文件中定义fixture函数,以使它们在多个测试文件中可用。
创建一个新文件 conftest.py 并将下面的代码添加到其中−
import pytest
@pytest.fixture
def input_value():
input = 39
return input
编辑 test_div_by_3_6.py 文件,移除 fixture function –
import pytest
def test_divisible_by_3(input_value):
assert input_value % 3 == 0
def test_divisible_by_6(input_value):
assert input_value % 6 == 0
创建一个新文件
test_div_by_13.py
import pytest
def test_divisible_by_13(input_value):
assert input_value % 13 == 0
现在,我们有以下文件: test_div_by_3_6.py 和 test_div_by_13.py ,它们使用了在 conftest.py 中定义的夹具。
通过执行以下命令来运行测试:-
pytest -k divisible -v
以上命令将生成以下结果−
test_div_by_13.py::test_divisible_by_13 PASSED
test_div_by_3_6.py::test_divisible_by_3 PASSED
test_div_by_3_6.py::test_divisible_by_6 FAILED
============================================== FAILURES
==============================================
________________________________________ test_divisible_by_6
_________________________________________
input_value = 39
def test_divisible_by_6(input_value):
> assert input_value % 6 == 0
E assert (39 % 6) == 0
test_div_by_3_6.py:7: AssertionError
========================== 1 failed, 2 passed, 6 deselected in 0.09 seconds
==========================
测试将在同一文件中查找固定设备。由于在文件中没有找到固定设备,则会在conftest.py文件中查找固定设备。找到后,将调用固定设备方法,并将结果返回给测试的输入参数。
Pytest教程目录索引
- Pytest 教程
- Pytest 简介
- Pytest 环境搭建
- Pytest 标识测试文件和测试函数
- Pytest 着手编写基本测试
- Pytest 文件执行
- Pytest 执行一部分测试套件
- Pytest 测试名称的子字符串匹配
- Pytest 分组测试
- Pytest fixture
- Pytest Conftest.py
- Pytest 参数化测试
- Pytest 选择xfail测试或跳过测试
- Pytest 在N个测试失败后停止测试套件
- Pytest 并行运行测试
- Pytest 以XML格式执行测试的结果
- Pytest 总结