Python Django测试客户端:登录不';行不通
我在Django测试用例中登录测试Python Django测试客户端:登录不';行不通,python,django,django-views,Python,Django,Django Views,我在Django测试用例中登录测试@login\u必需的视图时遇到问题 我有一个CustomUser模型,看起来像这样: class CustomUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField('email address', max_length=254, unique=True) username = models.CharField('username', max_length=30,
@login\u必需的视图时遇到问题
我有一个CustomUser模型,看起来像这样:
class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField('email address', max_length=254, unique=True)
username = models.CharField('username', max_length=30, blank=True)
is_active = models.BooleanField('active', default=False, help_text='Designates whether this user should be treated as approved.')
objects = CustomUserManager()
USERNAME_FIELD = 'email'
下面是我的测试用例:
class ViewTests(TestCase):
def test_create_user(self):
u = CustomUser.objects.create_superuser("u@u.ca","p")
u.is_active = True
u.save()
def test_add_project(self):
self.client.login(username="u@u.ca", password="p")
response = self.client.get(reverse('add-project'), {}, follow=True)
用户创建正确并且self.client.login()
正常工作,但响应只是重定向到我的登录页面
我可以创建用户,正确登录并在浏览器中使用此视图。如何让测试客户端执行相同的操作?每个测试方法都运行自己的事务,该事务在测试结束时回滚。在一个测试中创建的数据在另一个测试中不可用。此登录不起作用,因为用户不存在/从未创建过。如果您的测试需要一些常见的测试数据,您可以将其放在测试用例设置中