我想测试我的用户是否正确注销。我可以登录。我尝试以相同的方式登录,但是,测试失败了。我无法弄清楚原因。
为什么这个测试失败了?
def test_user_can_login_and_logout(self):
response = self.client.post('/login/', {'username': 'login', 'password': 'pass'})
user = auth.get_user(self.client)
self.assertEqual(user.is_authenticated(), True) # This works fine
self.client.post('/logout/')
self.assertEqual(user.is_authenticated(), False) # This fails.
我的urls.py
from django.conf.urls import url
from django.contrib.auth import views as auth_views
urlpatterns = [
(...)
url(r'^login/$', auth_views.login, {'template_name': 'home/login.html'}, name='login'),
url(r'^logout/$', auth_views.logout, name='logout'),
(...)
]
问题我跳过了负责在数据库中创建测试用户的代码。
答案 0 :(得分:0)
因为帖子将修改用户对象的另一个副本。注销后尝试再次获取用户实例。
此外,请确保您对帖子的回复进行资产处理,以便确认帖子是否成功。