在tastypie

时间:2016-03-09 11:55:02

标签: django unit-testing tastypie

我需要测试一个用户注册的场景,然后尝试使用相同的凭据登录。

我设计了一个如下的测试

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显示我的自定义错误:

  

用户名或密码不正确

0 个答案:

没有答案