我尝试使用Minitest的Capybara,因为它包含在Rails 5.1中。但作为一个新手,我对如何编写匹配器/断言有点困惑。
我发现以下所有似乎都做同样的事情(并且一切正常):
assert page.has_content?
has_content?
assert_content
这些或任何"正确"之间是否有任何区别?方式是什么?
答案 0 :(得分:2)
has_content?
只是一个返回true或false的布尔方法,它不是一个断言,以便一个人输出。
assert page.has_content?
是一个布尔方法的断言,所以它会声明一个错误,但错误信息只是它预期为真并且为假
assert_content
将声明错误并向您提供有关失败内容的详细错误消息,因此应该使用该消息。
在使用Minitest
时,基本上更喜欢https://github.com/teamcapybara/capybara/blob/master/lib/capybara/minitest.rb中定义的断言