与Capybara / Minitest一起使用的匹配器格式是什么?

时间:2017-04-02 21:05:03

标签: ruby-on-rails capybara minitest assertion ruby-on-rails-5.1

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

我发现以下所有似乎都做同样的事情(并且一切正常):

assert page.has_content?
has_content?
assert_content

这些或任何"正确"之间是否有任何区别?方式是什么?

1 个答案:

答案 0 :(得分:2)

has_content?只是一个返回true或false的布尔方法,它不是一个断言,以便一个人输出。

assert page.has_content?是一个布尔方法的断言,所以它会声明一个错误,但错误信息只是它预期为真并且为假

如果内容丢失,

assert_content将声明错误并向您提供有关失败内容的详细错误消息,因此应该使用该消息。

在使用Minitest

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