如何使用Capybara和RSpec测试CSS选择器的值?

B S*_*ven 8 tdd bdd rspec ruby-on-rails capybara

HTML页面应该具有以下代码:

<div class="user-image" style="background-image:url(/images/user_image.jpg)">
Run Code Online (Sandbox Code Playgroud)

你会如何使用Capybara和RSpec检查?

bob*_*opy 14

据推测,您正在尝试验证此div是否使用指定的背景图像.我可能会这样做:

it "has a user image" do
  page.should have_selector('div.user-image')
end

it "displays the user image" do
  page.find('div.user-image')['style'].should == 'background-image:url(/images/user_image.jpg)'
end
Run Code Online (Sandbox Code Playgroud)

然而,RSpec可能是这项工作的错误工具.考虑使用Cucumber进行这样的测试.