我試圖在測試中聲明一個語句引發這個異常,但它似乎不可能導入所述異常。這不,例如工作:如何assertRaises django.contrib.auth.models.DoesNotExist異常?
from rest_framework.test import APITestCase
from rest_framework.test import APIRequestFactory
from CarPooling.views import login, logout
from django.urls import reverse
from django.contrib.auth.models import User, UserManager
from django.contrib.auth import authenticate
from rest_framework.authtoken.models import Token
from CarPooling.models import AccountActivationToken
from rest_framework import status
from django.contrib.auth.models import DoesNotExist
class LoginViewTests(APITestCase):
def test_login(self):
url = '/api/token/'
data = {'email': '[email protected]', 'password': 'testpassword'}
user = create_user('joao', 'testpassword', '[email protected]')
user = User.objects.get()
user.is_active = True
user.save()
response = self.client.post(url, data, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['token'], Token.objects.get(user=user).key)
data = {'email': '[email protected]', 'password': 'tsubasaolivesr'}
response = self.client.post(url, data, format='json')
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
data = {'email': '[email protected]', 'password': 'tsubasaolivesr'}
self.assertRaises(models.DoesNotExist, self.client.post(url, data, format='json'))
測試失敗抱怨例外django.auth.contrib.auth.models.DoesNotExist被調用,即使我明確我斷言它是應該發生的。
如果將'self.assertRaises(models.DoesNotExist,')更改爲'self.assertRaises(DoesNotExist,'? – BorrajaX