嘲笑Pylons中的url对象

时间:2010-11-25 09:17:41

标签: python pylons

我想测试一个调用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对象。

有没有办法模拟这个对象?

1 个答案:

答案 0 :(得分:2)

为了使补丁工作,您需要为它实际修补的MODULE中的变量提供完整路径。所以,而不是'pylons.url',您将修补'my_project.my_module.url'并在my_module.py内部进行修补

from pylons import url

这有意义吗?