6

我有兴趣测试一些使用“随机”模块的代码,我希望能够在我的测试运行时修补/插入我自己的随机随机版本,返回一个已知值,然后放回去之后到正常的随机模块。从文档中我只能看到我可以修补类。有没有办法修补功能?像这样的东西:

def my_code_that_uses_random():
    return random.choice([0, 1, 2, 3])

with patch.function(random.choice, return_value=3) as mock_random:
    choice = my_code_that_uses_random()
    assert choice == 3

该代码不起作用,我需要什么?

4

1 回答 1

7

patch.function似乎不存在。您可以改用patch它自己:

with patch('random.choice', return_value=3) as mock_random:
    choice = my_code_that_uses_random()
    assert choice == 3
于 2013-08-27T12:04:03.740 回答