📅  最后修改于: 2020-11-06 05:21:40             🧑  作者: Mango
我们可以在此文件中定义灯具功能,以使它们可以跨多个测试文件访问。
创建一个新文件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文件中检查固定装置。找到它后,将调用fixture方法,并将结果返回到测试的输入参数。