Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pytest测试POST请求 我正在为python应用程序(P瓶)编写PyTest中的测试。 AddMessage函数接收用户输入,生成消息,并将其存储在数据库中 @app.route('/AddMessage',methods = ['POST', 'GET']) def AddMessage(): if request.method == 'POST': data = request.form user_id = data['user_id'] content = data['content'] paticipants = [data['participant1'],data['participant2'],data['participant3']] m = Message(user_id=user_id,content=content,participants=paticipants) db.session.add(m) db.session.commit() return 'Your message has been successfully saved'_Python_Http_Post_Pytest - Fatal编程技术网

使用pytest测试POST请求 我正在为python应用程序(P瓶)编写PyTest中的测试。 AddMessage函数接收用户输入,生成消息,并将其存储在数据库中 @app.route('/AddMessage',methods = ['POST', 'GET']) def AddMessage(): if request.method == 'POST': data = request.form user_id = data['user_id'] content = data['content'] paticipants = [data['participant1'],data['participant2'],data['participant3']] m = Message(user_id=user_id,content=content,participants=paticipants) db.session.add(m) db.session.commit() return 'Your message has been successfully saved'

使用pytest测试POST请求 我正在为python应用程序(P瓶)编写PyTest中的测试。 AddMessage函数接收用户输入,生成消息,并将其存储在数据库中 @app.route('/AddMessage',methods = ['POST', 'GET']) def AddMessage(): if request.method == 'POST': data = request.form user_id = data['user_id'] content = data['content'] paticipants = [data['participant1'],data['participant2'],data['participant3']] m = Message(user_id=user_id,content=content,participants=paticipants) db.session.add(m) db.session.commit() return 'Your message has been successfully saved',python,http,post,pytest,Python,Http,Post,Pytest,我如何测试它?毕竟,在测试期间我无法获得输入,可以吗?您可以尝试以下代码: def test_addMessage(自): 使用self.app()作为客户端,self.app_context(): 数据={ “用户id”:“1”, “内容”:“内容”, “参与者1”:“参与者1”, “参与者2”:“参与者2”, “参与者3”:“参与者” } response=client.post( “/AddMessage”, data=json.dumps(数据), headers={“内容类型”:“ap

我如何测试它?毕竟,在测试期间我无法获得输入,可以吗?

您可以尝试以下代码:

def test_addMessage(自):
使用self.app()作为客户端,self.app_context():
数据={
“用户id”:“1”,
“内容”:“内容”,
“参与者1”:“参与者1”,
“参与者2”:“参与者2”,
“参与者3”:“参与者”
}
response=client.post(
“/AddMessage”,
data=json.dumps(数据),
headers={“内容类型”:“application/json”},
)
self.assertEqual(201,响应状态代码)
self.assertEqual('您的邮件已成功保存',response.data)
另一种更简单的方法是提出请求:

import requests
import json
data = {
         "user_id": "1", 
         "content": "a content", 
         "participant1":"participant1",
         "participant2":"participant2",
         "participant3":"participants"
       }
response = requests.post("/AddMessage", json=json.dumps(data))
json_response = response.json()
print(json_response)

有关更多详细信息,请阅读请求

我收到以下消息:未找到夹具“self”。我需要导入一些东西让它工作,对吗?谢谢不,您必须创建一个类并将方法放入其中。