如何在Rspec / Capybara中为assert指定失败消息

时间:2012-12-12 19:51:42

标签: rspec capybara

在我的rspec集成测试中,当我有一个断言如:

assert page.has_content? some_value

如果断言失败,则显示:

MiniTest::Assertion: 
Failed assertion, no message given

最小的文档说“所有断言方法都接受一个msg,如果断言失败则打印出来”但我找不到任何指示消息的例子。这些语法无效:

assert("custom fail msg") page.has_content? some_value

assert page.has_content? some_value, "custom fail msg"

1 个答案:

答案 0 :(得分:4)

尝试:

assert page.has_content?(some_value), "custom fail msg"

假设我已正确地重现了您的错误,第二次尝试的问题是Ruby认为“自定义失败消息”是page.has_content?而不是assert的参数。在page.has_content?的参数周围添加括号应该可以解决问题。