このメソッドのunittestをDjangoに書きたいと思います。Djangoでunittestビューを作成するにはどうすればよいですか?
def activate(request):
id = int(request.GET.get('id'))
user = User.objects.get(id=id)
user.is_active = True
user.save()
return render(request, 'user_authentication/activation.html')
私はこのようなSTHを書いた:
def test_activate_view(self):
response = self.client.get('/activation', follow=True)
self.assertTemplateUsed(response, 'user_authentication/activation.html')
を私はエラーが出るので、それは動作しません:
id = int(request.GET.get('id'))
TypeError: int() argument must be a string or a number, not 'NoneType':
は、私は私のテストでは何を変更する必要がありますか?
このテストではバグが見つかりました。誰かがGETリクエストで 'id = ..'パラメータを渡さないと500エラーが発生します。あなたはおそらく最初にバグを修正する必要があります;-) – thebjorn