- Pytest 教程
- Pytest - 首页
- Pytest - 简介
- Pytest - 环境设置
- 识别测试文件和功能
- Pytest - 从基本测试开始
- Pytest - 文件执行
- 执行测试套件的一个子集
- 测试名称的子字符串匹配
- Pytest - 对测试分组
- Pytest - 夹具
- Pytest - conftest.py
- Pytest - 参数化测试
- Pytest - Xfail/跳过测试
- 在 N 次测试失败后停止测试套件
- Pytest - 并行运行测试
- XML 中的测试执行结果
- Pytest - 总结
- Pytest - 结论
- Pytest 实用资源
- Pytest - 快速指南
- Pytest - 实用资源
- Pytest - 讨论
Pytest - conftest.py
我们可以在此文件中定义夹具函数,以使其可以在多个测试文件中访问。
创建一个新文件 **conftest.py**,并将以下代码添加到其中 -
import pytest @pytest.fixture def input_value(): input = 39 return input
编辑 **test_div_by_3_6.py** 以删除夹具函数 -
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 文件中查找夹具。在找到它后,将调用夹具方法并将结果返回给测试的输入参数。
广告