python-3.x - 如何将 body 发送到 Falcon 中的 simulate_post

标签 python-3.x testing falconframework

def test_with_invalid_param(self):
        body = urlencode({
            "email":"jit",
            "password":"ewr"
        })
        result = self.simulate_post(self.path, body=body, headers=self.headers)
        print(result.json)
        self.assertEqual(result.status, "201 OK")

我从 Falcon 服务器收到 json 解码错误。

我已经实现了一个中间件来解码 json。

try:
                req.data = json.loads(req.stream.read().decode("utf-8"))
                return
            except:
                raise falcon.HTTPBadRequest(
                    "Bad request", "Invalid body. Unable to parse the given content"
                )

谁能发现这里出了什么问题?

最佳答案

从这里Github issue , 看起来你需要设置 Content-Type:

body = urlencode({
            'username': 'new_user',
            'email': 'email',
            'password': 'password',
            'location': 'Tucson, AZ'
        })
headers = {"Content-Type": "application/x-www-form-urlencoded"}
self.simulate_post(self.entry_path, body=body, headers=headers)

关于python-3.x - 如何将 body 发送到 Falcon 中的 simulate_post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58838617/

相关文章:

java - 我无法使用 apache POI 从 selenium 中的 xlsx 工作表中读取空白单元格。(PS : I want to skip blank rows)

java - 可靠的 Web 应用程序 GUI 测试

python - 是否可以从 Python 运行 Falcon 应用程序?

python - requests.get 到 localhost 超时

windows - Falcon (Waitress) 教程模块对象不可调用

python - 为什么 pandas isnull() 有效但 ==None 无效?

python - 读取 excel 文件时将转换器应用于所有列,Python 3.6

javascript - 在 NodeJS 中发出外部 HTTP 请求的单元测试 Controller 功能

python-3.x - Python - 计算两个 datetime.time 对象之间的差异

python-3.x - 如何在 Python 3.4 而不是 2.7 中安装 requests 模块