django test - 如何获取响应数据以供将来使用

Posted

技术标签:

【中文标题】django test - 如何获取响应数据以供将来使用【英文标题】:django test - how to get response data for future use 【发布时间】:2018-06-11 06:40:37 【问题描述】:

我正在运行这样的登录测试:

def test_login_user(self):
    client = APIClient()
    url = reverse('rest_login')
    data = 
        'username': 'test',
        'password': 'Welcome2'
    
    response = self.client.post(url, data)
    self.assertEqual(response.status_code, status.HTTP_200_OK)
    client.logout()

如果我正常登录应用程序,我会看到这样的 json 返回:


    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6ImV2YW4iLCJleHAiOjE1MTQ2NzYzNTYsImVtYWlsIjoiZXZhbkAyOGJlYXR0eS5jb20iLCJvcmlnX2lhdCI6MTUxNDY3Mjc1Nn0.8CfhfgtMLkNjEaWBfNXbUWXQMZG4_LIru_y4pdLlmeI",
    "user": 
        "pk": 2,
        "username": "test",
        "email": "test@test.com",
        "first_name": "",
        "last_name": ""
    

我希望能够获取 token 值以供将来使用,但是 response 似乎没有要获取的 data 值。

【问题讨论】:

【参考方案1】:

根据官方文档,我正在寻找的是response.content

https://docs.djangoproject.com/en/2.0/topics/testing/tools/#testing-responses

【讨论】:

以上是关于django test - 如何获取响应数据以供将来使用的主要内容,如果未能解决你的问题,请参考以下文章

尝试从实时数据库绑定数据以获取列表视图

RoR:发送附加数据以使用 Jquery AJAX 提交

如何在 MongoDB 2.4.x 中存储附加数据以使其符合 geoJSON 格式

Kendo Grid 通过 js 传递附加数据以读取服务器绑定中的操作

django:如何获取HttpResponseRedirect的响应位置(url)

如何使用 Django 从 POST 表单中获取 JSON 响应