我是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”,但没有匹配
此代码有问题吗?
由于
答案 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