Pytest Conftest.py

Pytest Conftest.py

我们可以在这个文件中定义夹具函数,使其可以在多个测试文件中使用。

创建一个新的文件 conftest.py ,并将下面的代码添加到其中 –

import pytest

@pytest.fixture
def input_value():
   input = 39
   return input

编辑 test_div_by_3_6.py ,删除fixture函数:

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.pytest_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文件中的夹具。找到后,夹具方法被调用,结果被返回到测试的输入参数中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程