1

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

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

assert page.has_content?
has_content?
assert_content

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

4

1 回答 1

2

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

assert page.has_content?是一个布尔方法的断言,所以它会断言一个错误,但错误消息只是它期望为真并得到假

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

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

于 2017-04-02T21:53:58.990 回答