장고 테스트에서 로그인 데코레이터를 사용하는 데 문제가 있습니다. 많은 테스트가 시작됩니다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에 관한 것입니다.