rspec - 如何在 Rspec/Capybara 中为断言指定失败消息

标签 rspec capybara

在我的 rspec 集成测试中,当我有以下断言时:

assert page.has_content? some_value

如果断言失败,则显示:
MiniTest::Assertion: 
Failed assertion, no message given

minitest 文档说“所有断言方法都接受在断言失败时打印的 msg”,但我找不到任何如何指定消息的示例。这些不是有效的语法:
assert("custom fail msg") page.has_content? some_value

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

最佳答案

尝试:

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

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

关于rspec - 如何在 Rspec/Capybara 中为断言指定失败消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13847499/

相关文章:

ruby-on-rails - 正在运行的规范条目正在从模式迁移表中删除

ruby-on-rails - 在窗口 : Webpack binstubs not found 中运行 rspec 时出错

ruby-on-rails - 如何测试 Rails API 应用程序?

Ruby-rspec - 如何打印出测试(组)名称

ruby-on-rails - Gem 集成测试失败,找不到 jQuery

ruby-on-rails - Rails 4.2 - 在创建 Factory Bot 记录后更新它的多个属性

ruby - "it"关键字在 RSpec 中有什么作用?

javascript - capybara :Webkit 无法找到 iframe 或其内容

ruby-on-rails - 测试功能是否足够?

javascript - Capybara 测试更改脚本是否有效并将属性添加到 HTML 字段