[英]Why I cannot effectively mock function with unittest.mock.patch?
[英]Can I patch 'random' using unittest.mock.patch?
我有興趣測試一些使用'隨機'模塊的代碼,我希望能夠在我的測試運行時修補/插入我自己的假隨機版本,返回一個已知值,並將其恢復之后到正常的隨機模塊。 從文檔中我只能看到我可以修補類。 有沒有辦法修補功能? 像這樣的東西:
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
該代碼不起作用,我需要什么呢?
patch.function
似乎不存在。 您可以使用patch
本身:
with patch('random.choice', return_value=3) as mock_random:
choice = my_code_that_uses_random()
assert choice == 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.