1
나는이 보이는 전망을 가지고 :django에서 사용자와 연관된 뷰를 사용자 정의 데코레이터로 테스트하는 방법은 무엇입니까?
@login_required
@active_required()
def myView(request):
print 'in my view'
active_required 고객 장식은 다음과 같습니다
내 테스트는 다음과 같습니다def active_required():
def decorator(func):
def inner_decorator(request, *args, **kwargs):
my_user = request.user
if my_user.active:
return func(request, *args, **kwargs)
else:
return HttpResponseRedirect(reverse('activate'))
return wraps(func)(inner_decorator)
return decorator
: 내가 얻을
def test_my_view(self):
self.client.login(username='user', password='11111111')
response = self.client.post(reverse('my-view'), data, follow=True)
self.assertEqual(response.status_code, 200)
다음 오류 :
@active_required
TypeError: active_required() takes no arguments (1 given)
테스트에서 생성 된 데이터베이스에 활성 사용자가 포함되어 있지 않은 경우 어떻게 추가합니까? 아니면 다른 이유로이 오류가 발생합니까?
만 delete''당신 일이 일어날 것을 호기심은'()'은'view'에 있다고? –
데코레이터에서()을 제거하면 제대로 작동합니다. –