好吧,这是一个有点奇怪的问题,我不知道在哪里可以找到解决办法
在“/”路线上运行的类
parser = reqparse.RequestParser()
parser.add_argument('task')
parser.add_argument('message')
class SimpleRequest(Resource):
# definiujemy rodzaj zapytania HTTP
def get(self):
return "hello world"
def post(self):
args = parser.parse_args()
return args['message']
正如我们所看到的,它返回它作为请求体得到的内容
简单测试
def test_simple_request(self):
result = requests.get(f'{APP_URL}/')
self.assertEqual(result.status_code, 200)
test_text = 'simple_text'
message = {"message": test_text}
result = requests.post(f'{APP_URL}/', message)
self.assertEqual(result.text, test_text)
我正在发送“simple_text”,但我得到的回报是“simple_text”\n,因此我的测试返回断言失败,这可能会导致巨大的错误
我错过什么了吗
首先,发生了什么:
您的代码使用默认的内容类型,即application/json。这是由output_json() method控制的,它使用JSON编码的主体创建响应对象。 在那里你可以看到有趣的部分:
这是因为这个request
而且here你可以找到背后的理由
那么,该怎么办
使用响应对象的json()方法。它将返回您期望它返回的内容
因此,您的测试应以如下方式结束:
相关问题 更多 >
编程相关推荐