我需要测试一个用户注册的场景,然后尝试使用相同的凭据登录。
我设计了一个如下的测试
class UserFlow(ResourceTestCase):
loginEmail='name@domain.com'
loginPassword='abc'
def setUp(self):
ResourceTestCase.setUp(self)
@override_settings(DEBUG=True)
def test_userFlow(self):
current_Count = LCUser.objects.count()
self.assertValidJSONResponse(self.api_client.post('/register/', format='json', data={'email':self.loginEmail,'password':self.loginPassword}))
self.assertEqual(LCUser.objects.count(), (current_Count+1))
resp = self.api_client.post('/login/', format='json', data={'email':self.loginEmail,'password':self.loginPassword})
self.assertValidJSONResponse(resp)
我可以看到注册成功但登录测试失败。我试过手动运行测试,API工作正常。这几乎就好像测试在执行登录之前没有保存注册用户。知道为什么会这样吗?
输出显示上次测试(登录测试)self.assertValidJSONResponse(resp)
失败
测试失败
resp = self.api_client.post('/login/', format='json', data={'email':self.loginEmail,'password':self.loginPassword})
self.assertValidJSONResponse(resp)
resp.content
显示我的自定义错误:
用户名或密码不正确