【问题标题】:Receive data from Post request in TEST mode Django Rest在 TEST 模式下接收来自 Post 请求的数据 Django Rest
【发布时间】:2017-11-16 01:45:45
【问题描述】:

如果登录后生成令牌,我如何在测试模式下获取令牌

client = APIClient()
client.post('/api/login/', {'username': 'username', 'password': 'password'}, format='json')

请求后必须在 json 中返回 Token 键的响应。对开发服务器使用请求可以正常工作,但如何在 TEST 模式下使用?

【问题讨论】:

    标签: unit-testing django-rest-framework django-tests


    【解决方案1】:

    您可以使用 django-rest-framework 测试用例。当测试用例运行时,它将创建一个新数据库,因此我们在数据库中没有任何数据。 之后它将调用方法setUp 来创建用于测试的所需数据。

    from rest_framework.test import APITestCase
    
    class AccountTests(APITestCase):
    
       def setUp(self):
           super(AccountTests, self).setUp()
           user = User.objects.create(user_name='username')
           user.set_password('password')
           user.save()
           self.token = Token.objects.create(user=user)
    
       def test_login(self):
          url = '/api/login/'
          data = {'username': 'username', 'password': 'password'}
          response = self.client.post(url, data, format='json')
          # key = response.json()['token']
          # self.assertEqual(key, self.token.key)
    

    【讨论】:

      猜你喜欢
      • 2018-09-22
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 2018-07-23
      • 2019-11-18
      • 2014-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多