【发布时间】:2020-05-13 11:45:45
【问题描述】:
我有一个函数循环一定次数,每次从列表中选择一个随机元素。
问题出在为此编写测试用例时。
示例代码
def func(given):
combo = [filled by a function]
for i in range(0,given):
com = random.choice(combo)
我的测试用例就像
@patch('random.choice',2)
def test_func():
func(250)
assert(expected,actual)
所以当测试用例运行时,我想在每次运行中为 random.choice 动态赋予不同的值。
如何做到这一点?
【问题讨论】:
-
题意不清楚? “每次运行都不同”是什么意思?如果您要求一个随机数,它可能会连续两次出现相同的数字。如果我们避免这种情况,我们将失去随机性
-
你想要这个 --> docs.pytest.org/en/latest/parametrize.html 这意味着切换到
pytest -
@BaruchG。我的意思是,当 func 被调用 250 次时,我想在 250 次调用中将测试用例中的值注入 random.choice。
标签: python unit-testing random