当试图从unittes发送时,Flask API返回错误的请求

2024-10-01 00:15:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图编写一个API单元测试来检查数据是否成功地插入到数据库中。 下面是我的单元测试:

    def test_api_can_create_request(self):
    """Test api can create a request"""
    res = self.client().post('/api/v1/user/', data= self.newRecord)
    self.assertEqual(res.status_code, 201)

这是setUp方法,它还定义了测试方法中使用的newRecord对象

^{pr2}$

这是处理在数据库中创建新记录的post方法的类:

class RequestResource(Resource):
"""Get all request"""
def get(self):     
    return dtrequest, 200

"""create new request"""
def post(self):
    json_data = request.get_json(force=True)
    if not json_data:
        return {'message': 'No input data provided'}, 400
    dtrequest.append(json_data)
    return {"status":"success", "data": json_data }, 201

但我在尝试测试此方法时遇到以下错误: enter image description here


Tags: 方法selfapi数据库jsondatareturnrequest
1条回答
网友
1楼 · 发布于 2024-10-01 00:15:34

我认为您是在向您的路由发布一个文本字典,而不是首先将其转换为json。所以试试看:

import json
res = self.client().post('/api/v1/user/', data= json.dumps(self.newRecord))

相关问题 更多 >