我昨天整天都在寻找一个可以用来检查我的rails应用程序生成的代码的
HTML验证器.到目前为止,我已经尝试了几种不同的策略,例如RailsTidy,它不再适用于Rails 1.9,tidy_ffi,我在rails控制台运行时很难“需要” – 以及FireFox的Total Validator,无论我正在检查什么,它总是给我同样的错误.
我的目标是检查我的代码,而不必上传任何东西到互联网上.能够从终端运行测试(我正在使用RedHat Linux)或在运行的localhost服务器上运行测试将是最有帮助的.
为了节省自己的另一天(或可能更多)的挫折感,我在这里提出了这个问题,我想知道是否有其他人成功使用过Ruby on Rails的验证器.
解决方法
试试我的宝石,html_acceptance.它使用HTML Tidy进行验证.我刚才说出来了,但到目前为止它大部分时间都没有引起注意.它对我很有用,如果您报告问题/有功能请求,我会很乐意看到它们.
在示例中,我有一个自定义RSpec匹配器,因此如果您添加自定义匹配器,在规范/请求的集成测试中,您可以执行以下操作:
page.should have_valid_html
这个想法是你可以在集成测试中使用它,即使你得到你不关心的小警告/失败(例如,TIDY抱怨一些IE特定的黑客攻击),你可以进入,接受它们,并且只要验证结果不变,测试就会通过.
此外,你需要在路径上保持整洁.所以在OS X上:端口安装htmltidy或Ubuntu sudo apt-get install tidy.