2010-11-25 6 views
3

Je veux tester une méthode qui appelle l'objet pylons.url. Cependant appeler cela dans les essais conduit à une erreur:Mocking loin l'objet d'URL dans Pylons

TypeError: No object (name: url) has been registered for this thread 

Je voudrais donc remplacer l'objet pylons.url avec une maquette de la bibliothèque simulée.

@patch('pylons.url') 
def my_test(self, url_mock): 
    ... 

Cependant, cela ne semble pas remplacer l'objet URL.

Existe-t-il un moyen de simuler cet objet?

Répondre

2

Pour que le correctif fonctionne, vous devez indiquer le chemin d'accès complet à la variable dans le MODULE que vous êtes en train de patcher. Ainsi, plutôt que « pylons.url » vous seriez patcher « my_project.my_module.url » et à l'intérieur my_module.py vous feriez

from pylons import url 

Est-ce que sens?