首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于凯巴拉“火柴”的困惑

关于凯巴拉“火柴”的困惑
EN

Stack Overflow用户
提问于 2017-07-12 17:45:14
回答 1查看 323关注 0票数 2

所以我通常会看到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,其余的怎么办?我该用什么?不幸的是,凯巴拉的医生们并没有探讨他们之间的区别。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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样式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45064409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档