gpt4 book ai didi

arrays - Rspec 将空数组解释为缺少 Grape 参数

转载 作者:数据小太阳 更新时间:2023-10-29 08:43:13 25 4
gpt4 key购买 nike

我有一个使用 Grape 公开 API 端点的 Ruby(非 Rails)应用程序。其中一个端点需要一个参数,该参数是一个值数组,但也接受一个空数组:

requires :user_ids, type: Array, allow_blank: true

当使用 Curl 或 Postman 手动测试端点时,这一切工作正常 - 空数组被正确解释为参数 user_ids: []。但是,当 rspec 的值为空数组时,rspec 似乎忽略了整个参数(非空数组当然可以完美工作):

let(:params) { { user_ids: [] } }
let(:route) { post "api/users/remove", params }

在这种情况下,实际传递的参数等于 {} 并且 Grape 的 requires 守卫启动,不允许端点执行任何操作。

不确定它是错误还是功能以及如何强制 rspec 将此空数组作为参数传递(在 rspec 3.4 和 3.6 中都表现得像这样)。

最佳答案

使用 params.to_json 并将 header “CONTENT_TYPE”设置为“application/json”

关于arrays - Rspec 将空数组解释为缺少 Grape 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44304015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com