所以我通常会看到3-4个不同的例子,比如“断言”文本。
水豚的医生甚至提到了超过一个。
assert_text('foo')
page.has_text?('bar')
page.should have_content('baz') (显然have_content也有have_text)
expect(page).to have_content('boop')
So...thats 4检查同一件事的不同方法。我知道expect是一个rspec matcher...but,其余的怎么办?我该用什么?不幸的是,凯巴拉的医生们并没有探讨他们之间的区别。
谢谢!
发布于 2017-07-12 18:13:24
assert_text('foo')是一种通常用于最小值的断言。
page.has_text?('bar')只是一个返回true或false的方法。如果您希望根据页面上文本的存在或不存在而更改行为,则可以使用此方法。在测试应用程序时不经常使用,因为您应该知道页面上期望的是什么,并且不需要根据内容执行不同的行为。但是,如果自动化/抓取是有用的。
page.should have_content('baz') (显然have_content也有have_text) --正如您所说的-- have_text是have_content的别名,因此您可以随意使用。have_content是一个RSpec匹配器,只有在使用RSpec时才会使用。should是一种旧的RSpec语法,它要求将should方法修补到每个对象上,并已被expect取代。
expect(页面).to have_content('boop') -当前的RSpec语法
因此,如果您使用的是最小测试框架,则使用assert_xxx样式方法,如果使用RSpec,则可以使用expect样式或should样式,尽管对于任何新的东西,您可能希望使用expect样式。
https://stackoverflow.com/questions/45064409
复制相似问题