Rspec 水豚的困惑;Matchers“;
因此,我通常在“断言”文本时看到3-4个不同的示例 水豚博士甚至提到了不止一个Rspec 水豚的困惑;Matchers“;,rspec,capybara,Rspec,Capybara,因此,我通常在“断言”文本时看到3-4个不同的示例 水豚博士甚至提到了不止一个 assert\u text('foo') page.有文本('bar') page.应该有内容('baz')(显然有内容的页面与有文本的页面相同) expect(第页)。有内容('boop') 所以…这是检查同一事物的4种不同方法。我知道expect是一个rspec匹配器……但是其他的呢?我应该用什么?不幸的是,水豚的医生们并没有研究它们之间的区别 谢谢 assert\u text('foo')是一种通常与minit
assert\u text('foo')
page.有文本('bar')
page.应该有内容('baz')
(显然有内容的页面与有文本的页面相同)
expect(第页)。有内容('boop')
所以…这是检查同一事物的4种不同方法。我知道expect是一个rspec匹配器……但是其他的呢?我应该用什么?不幸的是,水豚的医生们并没有研究它们之间的区别
谢谢 assert\u text('foo')
是一种通常与minitest一起使用的断言
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
期望(第页)。具有_内容('boop')-当前RSpec语法
因此,如果您使用minitest框架,请使用assert\uxxx
样式方法,如果使用RSpec,则可以使用expect
样式或should
样式,尽管对于任何新的样式,您可能都希望使用expect
样式