我正在使用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文档的结构很好,但确认客户端程序如何解释文档是设计者的角色,而不是程序员. (如果你戴两顶帽子,那就这样吧,但不要混合你的食物.)