在 Rspec 中修改 "ExpectationNotMet" 输出

Modify "ExpectationNotMet" output in Rspec

我正在使用 Ruby、Rspec 和 Cucumber 进行 运行 测试。我有这样的东西:

expect(@response.code).to eql(200)

当参数不为200时,显示如下输出:

(compared using eql?)
(RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/accounts_steps.rb:159:in `/^I see an? '(accepted|created|ok)' (create|authorization|payment|confirmation) response$/' features/honduras/honduras-claro-bundle-postpay.feature:9:in 
Then I see an 'accepted' create response

我需要在这个输出中添加一些相关信息,所以我想修改它。如果可能的话,我想为此异常修改内置匹配器。有人可以帮忙吗?

非常感谢。

您可以使用 customized message:

expect(@response.code).to eql(200), "Expected to respond with 200 OK, but got #{@response.code}"

但是匹配器 eql 默认情况下应该打印这样的消息:

   expected: 200
        got: 404