如何使用Rspec的have_selector
来验证DOM元素没有某些CSS类?
我正在尝试使用CSS语法,但显然Nokogiri不支持:not()
选择器。
例如:
it "should not add any class to other inputs" do
@buffer.output.should have_selector(
'form input#monster_battle_cry:not(.integer, .decimal, .date, .phone, .zip)'
)
end
此操作因#Nokogiri::CSS::SyntaxError: # unexpected ':not('
答案 0 :(得分:2)
这样的事情很丑陋,但应该有效:
it "should not add any class to other inputs" do
@buffer.output.should have_xpath(
"//form//input[@id='monster_battle_cry'][not(contains(@class, 'integer'))]"
)
end
与其他课程重复[not(contains(@class, 'integer'))]
。
修改糟糕,CSS也应该有效,只有这样::not(.integer):not(.decimal)...
再次修改否则没有,并且有一张打开的门票:CSS selector with multiple :not fails