Minitest 测试响应不适用于显式状态代码编号

Minitest test responses don't work for explicit status code numbers

写的时候

assert_response :success, @response.body.to_s

我收到一条很好的错误消息,这是我在代码中植入的。 但是当我尝试 运行 这个类似的代码时,使用明确的状态代码编号,例如...

assert_response(422), @response.body.to_s

我得到syntax error, unexpected tIVAR, expecting keyword_end assert_response(422) @response.body.to_s

实现此类代码的正确语法是什么?

assert_response 422, @response.body.to_s

在第一个参数两边加上括号会使 ruby 方法调用感到困惑,认为 (422) 代表它需要的所有参数。然后额外的 , @response.body.to_s 抛出语法错误。

编辑:

如果你想使用括号,你也可以使用这种格式。

assert_response(422, @response.body.to_s)