我试图在测试中声明一个语句引发这个异常,但它似乎不可能导入所述异常。这不,例如工作:如何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