2 回答
TA贡献1777条经验 获得超10个赞
要将参数移动到夹具中,您可以使用夹具参数:
@pytest.fixture(params=[("hello", "hello"),
("world", "world")], scope="session")
def test_messages(self, request):
return request.param
def test_get_message(self, test_messages):
input = test_messages[0]
expected = test_messages[1]
assert expected == MyClass.get_message(input)
您还可以将参数放入单独的函数中(与 wih 相同parametrize),例如
def get_test_messages():
return [("hello", "hello"), ("world", "world")]
@pytest.fixture(params=get_test_messages(), scope="session")
def test_messages(self, request):
return request.param
TA贡献1829条经验 获得超13个赞
对我来说,你似乎想返回一个字典数组:
@pytest.fixture(scope="session")
def test_messages():
return [
{
"input": "hello",
"expected": "world"
},
{
"input": "hello",
"expected": "hello"
}
]
要在测试用例中使用它,您需要遍历数组:
def test_get_message(self, test_messages):
for test_data in test_messages:
input = test_data["input"]
expected = test_data["expected"]
assert input == expected
但我不确定这是否是最好的方法,因为它仍然被视为只有一个测试用例,因此它只会在输出/报告中显示为一个测试用例。
添加回答
举报
