使用rails和capybara在集合中查找值

时间:2014-09-24 21:03:07

标签: ruby-on-rails ruby-on-rails-4 rspec set capybara

我正在努力解决最有可能出现的问题...

到目前为止我有这个

page.check 'Vendor'
page.check 'Partner'
click_button 'Invite'

newUser = User.find_by_email("lemmy@dl.com")

puts "ROLES"
puts newUser.roles
puts "ROLES"

expect(newUser.roles).to have_content("partner")
expect(newUser.roles).to have_content("vendor")

以及输出结果是什么:

ROLES
admin
vendor
partner
ROLES

然后出错:  expected to find text "partner" in "#"

我想知道为什么会这样,虽然我知道伙伴价值就在那里,因为我打印它,我想要一种方法来自动检查它,这样我就可以摆脱那些放置。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

have_content查看网页以查看其是否包含内容,但您正在检查newUser.roles。如果newUser.roles返回数组,请使用include匹配器:

expect(newUser.roles).to include("partner")
expect(newUser.roles).to include("vendor")