我试图用这里的例子来测试REST视图集。如果我在manage.py shell中逐行运行代码,我就可以很好地进行身份验证并获得200个响应代码。在我的单元测试中,身份验证失败!
这是一堂课:
class RiskViewSetTest(unittest.TestCase):
def setUp(self):
pass
def testClientView(self):
client = APIClient()
client.login(username='test@test.us',password='realpassword')
response = client.get('/api/v1/risks/')
self.assertTrue(response.status_code, 200)如果我将断言更改为:
self.assertTrue(client.login(username='test@test.us',password='realpassword'))它也会失败,而shell中的相同命令返回True。
发布于 2015-09-03 21:15:17
如果您正在运行测试用例,它将自动创建执行测试的数据库。在shell中,您已经有了数据库,并且用户在那里,它正在进行身份验证。因此,您需要在这里创建用户并进行身份验证。遵循以下代码:
class RiskViewSetTest(unittest.TestCase):
def setUp(self):
self.client = APIClient()
User.objects.create_user(
username='test@test.us', password='realpassword')
def testClientView(self):
self.client.login(
username='test@test.us',password='realpassword')
response = self.client.get('/api/v1/risks/', format='json')
self.assertTrue(response.status_code, 200)https://stackoverflow.com/questions/32384833
复制相似问题