在我用 cucumber 做的测试中我有一个问题。
当我尝试发出请求时,出现wrong number of arguments (given 1, expected 0) (ArgumentError)
错误。
我提出了一个缺少参数的请求,我应该得到一个400错误消息,其中缺少参数。
params do
requires :field_a, type: Integer
requires :field_b, type: Integer
requires :field_c, type: Float
requires :field_d, type: Float
optional :active, type: Boolean
end
post do
result = Category.create_or_update(params)
present result, with: Api::V1::Entities::CategoryObject
end
我的rescue_from:
rescue_from Grape::Exceptions::ValidationErrors do |e|
Rails.logger.debug(e)
error!({ error: e.message, class: e.class.name, errors: e.errors }, e.status)
end
1条答案
按热度按时间l2osamch1#
我发现问题了。在
Grape::Exceptions::ValidationErrors
返回块中,我有一个Logger.debug。在检查正在运行的代码时,我注意到在发送ValidationErrors
对象时,Rails.Logger.debug
有些奇怪。然后我意识到有必要传递一个“字符串”,而不是要呈现的对象。