使用mockito stub python时间方法(何时)

时间:2017-07-19 10:53:37

标签: python unit-testing testing mockito stub

在代码中,我使用的是python方法time()

from time import time

# Some code
t=time()
# Some more code

main.py

在我的测试中,我想使用mockito存储time方法,以便始终返回相同的值:

import time
#...
when(time).time().thenReturn(2)
#...

test.py

但是,除非我改变在main中调用time方法的方式,否则这不起作用:

import time
t=time.time()

main_2.py

我想避免更改主代码,或者至少理解为什么需要进行更改才能使存根工作。

1 个答案:

答案 0 :(得分:2)

你在嘲笑错误的模块。您的代码在其拥有的名称空间中使用名称time,而不是time模块中的名称,尽管两者都引用相同的函数。

如果test.py导入main.py import main,请使用

when(main).time().thenReturn(2)