Django视图测试中同类登录代码仅单类生效问题求助
问题
我正在跟着MDN教程为locallibrary应用编写测试,两个视图测试类使用了相似的登录代码,但只有其中一个类的登录功能生效。我已经检查过拼写并对比了两个类的代码,相关代码片段如下:
登录失败的测试类代码
class AuthorCreateViewTest(TestCase): def setUp(self): # 创建两个用户 test_user1 = User.objects.create_user(username='testuser1', password='fjo&*&d3h') test_user2 = User.objects.create_user(username='testuser2', password='J9cdj8we9') test_user1.save() # 给test_user2添加还书权限 permission = Permission.objects.get(name='Set book as returned') test_user2.user_permissions.add(permission) test_user2.save() def test_view_url_accessible_by_name(self): login = self.client.login(username='testuser2', password='J9cdj8we9') response = self.client.get(reverse('author-create')) self.assertEqual(response.status_code, 200)
登录成功的测试类代码
class RenewBookInstancesViewTest(TestCase): def setUp(self): # 创建两个用户 test_user1 = User.objects.create_user(username='testuser1', password='fjo&*&d3h') test_user2 = User.objects.create_user(username='testuser2', password='J9cdj8we9') test_user1.save() test_user2.save() # 给test_user2添加还书权限 permission = Permission.objects.get(name='Set book as returned') test_user2.user_permissions.add(permission) test_user2.save() def test_logged_in_with_permission_borrowed_book(self): login = self.client.login(username='testuser2', password='J9cdj8we9') response = self.client.get(reverse('renew-book-librarian', kwargs={'pk':self.test_bookinstance2.pk})) # 验证登录成功——这是我们的书籍,且拥有对应权限 self.assertEqual(response.status_code, 200)
完整代码可查看项目中catalog/tests/test_views.py文件。
内容的提问来源于stack exchange,提问作者rad2
相关产品推荐
相关产品推荐

