在之前的分享中,我们知道可以使用yield
或者return
关键字把fixture函数
里的值传递给test函数
。
这种方法很实用,比如我在fixture函数
里向数据库里插入必要的测试数据,那我就可以把相关数据返回给test函数
用来做相关断言查询等操作。
那如果我想把test函数
(也就是测试用例)中的数据传给fixture函数
使用,要如何实现呢?
直接先贴上一段示例代码:
import pytest
@pytest.fixture
def fixt(request):
marker = request.node.get_closest_marker("fixt_data")
if marker is None:
# Handle missing marker in some way...
data = None
else:
data = marker.args[0]
# Do something with the data
return data
@pytest.mark.fixt_data(42)
def test_fixt(fixt):
assert fixt == 42
一、前置知识
代码中可能有2个知识点,可能有的小伙伴并不熟悉,分别