如果和Page.Should在Ruby中拥有_css

时间:2014-03-12 10:44:26

标签: ruby-on-rails ruby if-statement ab-testing

我是Ruby的新手,我在编写A / B测试登录功能时遇到条件和页面问题。

这是我的代码:

if (page.should have_css("body.bg-b")) || (page.should have_css("body.bg-c")) 
    #do something           
else
    #do something
end

在if条件下工作正常。我的问题是在页面没有bg-b或bg-c的情况下,它应该转到else条件,对,但是它停止运行并且说

  

水豚:: ExpectationNotMet:     期待找到css“body.bg-b”,但没有匹配

此代码有问题吗?

由于

1 个答案:

答案 0 :(得分:2)

关键字"应该"似乎你在断言。

如果您只想制作IF,您应该写下这样的内容:

if (page.has_css?("body.bg-b")) || (page.has_css?("body.bg-c")) 
   # Check something with should
else
   # Check something else with should
end

你要检查页面有css还是另一个,你应该写

(page.has_css?("body.bg-b")) || (page.has_css?("body.bg-c")).should == true

或者

if !page.has_css?("body.bg-b")
  page.should have_css("body.bg-c")
end