在python中将pytest添加到屈服函数中?
我想类似的东西可以回答我的问题,我只是不知道如何实现它 我写了这个函数:在python中将pytest添加到屈服函数中?,python,pytest,Python,Pytest,我想类似的东西可以回答我的问题,我只是不知道如何实现它 我写了这个函数: def print_max(list_name,k): for i in range(len(list_name)-(k-1)): yield (max(list_name[i:i+k])) print(print_max([10,5,2,7,8,7],3)) 我想把它添加到pytest中。 这通常是我运行pytest的方式: @pytest.marks.paramet
def print_max(list_name,k):
for i in range(len(list_name)-(k-1)):
yield (max(list_name[i:i+k]))
print(print_max([10,5,2,7,8,7],3))
我想把它添加到pytest中。
这通常是我运行pytest的方式:
@pytest.marks.parametrize('input1','output1',[[10,5,2,7,8,7], X]:
def test_fun(input1, output1):
assert print_max(input1) == output1
在这个pytest中,我将X更改为什么,以允许函数有一个屈服输出?或者,如果函数是一个yield,那么做这个pytest的最佳方法是什么?当您使用
yield
时,您正在生成一个迭代器,因此需要在比较之前迭代结果
你需要这样的东西:
assert [print_max(input1)] == output1 # create list from iterator
我想你不明白print\u max在做什么,它返回一个迭代器生成器。您只是将生成器对象与
output1
进行比较。。。这真的与Pytest无关。