我想测试一个调用pylons.url对象的方法。但是在测试中调用它会导致错误:
TypeError: No object (name: url) has been registered for this thread
所以我想用模拟库中的Mock替换pylons.url对象。
@patch('pylons.url')
def my_test(self, url_mock):
...
但是,这似乎不会取代url对象。
有没有办法模拟这个对象?
答案 0 :(得分:2)
为了使补丁工作,您需要为它实际修补的MODULE中的变量提供完整路径。所以,而不是'pylons.url',您将修补'my_project.my_module.url'并在my_module.py内部进行修补
from pylons import url
这有意义吗?