如何在pytest中参数化非确定性函数



假设我有一个函数,它从列表中返回一个随机项目:

def get_item(L):
if not L: return None
return random.choice(L)

如何使用参数化pytest来测试这两种情况?

您可以很容易地传入参数,这些参数会给出确定的结果:

result = get_item(None)
assert result is None
result = get_item([42])
assert result == 42
random.seed(1)
result = get_item([1,2,3])
assert result == 1

最新更新