Ruby on rails 与Capybara/Minitest一起使用什么匹配器格式?

Ruby on rails 与Capybara/Minitest一起使用什么匹配器格式?,ruby-on-rails,capybara,minitest,assertion,ruby-on-rails-5.1,Ruby On Rails,Capybara,Minitest,Assertion,Ruby On Rails 5.1,我正在用Minitest测试Capybara,因为它包含在Rails 5.1中。但是作为一个新手,我对如何编写匹配器/断言有点困惑 我发现以下所有方法似乎都能做同样的事情(而且都能起作用): 这些或任何“正确”的方法之间有什么区别吗?有内容?只是一个返回true或false的布尔方法,它不是一个断言,因此不存在 assert page.has_content?是一个布尔方法上的断言,因此它将断言一个错误,但错误消息将是它预期为true,但实际为false assert\u content将在内容

我正在用Minitest测试Capybara,因为它包含在Rails 5.1中。但是作为一个新手,我对如何编写匹配器/断言有点困惑

我发现以下所有方法似乎都能做同样的事情(而且都能起作用):


这些或任何“正确”的方法之间有什么区别吗?

有内容?
只是一个返回true或false的布尔方法,它不是一个断言,因此不存在

assert page.has_content?
是一个布尔方法上的断言,因此它将断言一个错误,但错误消息将是它预期为true,但实际为false

assert\u content
将在内容丢失时断言错误,并提供有关失败内容的详细错误消息,因此应该使用该错误消息

与Minitest一起使用时,基本上更喜欢中定义的假设

assert page.has_content?
has_content?
assert_content