2012-01-19 2 views
2

장고 테스트에서 로그인 데코레이터를 사용하는 데 문제가 있습니다. 많은 테스트가 시작됩니다Django 테스트 : 테스트 케이스에 로그인 데코레이터 사용

self.client.login(username='foo', password='bar') 

따라서 로그인은 원칙적으로 작동합니다. 하지만 지금은 그냥 재미, 데코레이터 login에 코드 줄을 리팩토링 같은 :

def login(fn): 
    def wrapper(self): 
     self.client.login(username='foo', password='bar') 
     return fn(self) 
    return wrapper 

는하지만 다음 실패한 테스트는 사용자 '푸'트루도 self.client.login 반환 로그인하지 않은 것을 저에게 보여줍니다.

또 하나의 신비한 점은 장식가가 꾸미기를하지 않고 꾸며낸 장식물에서 self.client.login을 남겨두면 데코 레이팅 된 테스트 메서드 내에서 정상적인 로그인은 더 이상 가능하지 않다는 것입니다.

테스트 클라이언트에는 일부 컨텍스트 또는 범위 문제가 있다고 생각합니다. probem이 될 수있는 어떤 생각을 가지고 있습니까? P.S .:이 이야기는 모두 python2.7과 django-1.3.1에 관한 것입니다.

답변

관련 문제