Capybara/Minitest 使用什么匹配器格式?

What matcher format to use with Capybara/Minitest?

我正在试用带有 Minitest 的 Capybara,因为它包含在 Rails 5.1 中。但是作为一个新手,我对应该如何编写 matchers/assertions 感到有点困惑。

我发现以下所有似乎都在做同样的事情(并且都有效):

assert page.has_content?
has_content?
assert_content

这些或任何"correct"方式有什么区别吗?

has_content?只是一个布尔方法,returns true or false,它不是一个断言,所以一个就出来了。

assert page.has_content? 是对布尔方法的断言,因此它会断言错误,但错误消息只是它预期为真而得到假

如果内容丢失,

assert_content 将断言错误,并为您提供有关失败内容的详细错误消息,因此应该使用它。

与 Minitest

一起使用时,基本上更喜欢 https://github.com/teamcapybara/capybara/blob/master/lib/capybara/minitest.rb 中定义的断言