ruby-on-rails – 如何在rspec中测试css属性?

我正在使用Rails的tabnav插件,我想使用rpsec来确保它正确突出显示.

describe 'account navigation links' do
  it 'should have account settings link' do
   get '/account/settings'
   response.should have_tag("li",:text => "Account Settings")
end

 it 'should be highlighted' do
   get '/account/settings'
   response.should have_tag("li",:color => "Account Settings")
 end
end

但是上面的代码似乎不起作用.我正在使用带有rspec btw的webrat.有帮助吗?谢谢.

解决方法

这里唯一真正要测试的是,如果突出显示来自类名,是否应用了特定的类名.如果是这样,您可以执行has_tag(“li.highlighted”,:text =>“帐户设置”).

否则,您可能不应自动测试CSS选择器本身是否正确应用.这是一个纯粹的表现细节,并不是测试套件设计用于测试的.我怀疑Webrat并不打算通过并为您应用样式表,因此测试该详细信息是不可行的,更不用说您可以只用一个页面加载检查它是否正常工作 – 毕竟,你是可以说在设计时测试样式表.

无论如何.你的问题并没有真正说清楚你真正想要测试的是什么,但无论如何你不应该测试演示.测试HTML文档的结构很好,但确认客户端程序如何解释文档是设计者的角色,而不是程序员. (如果你戴两顶帽子,那就这样吧,但不要混合你的食物.)

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...