【问题标题】:RoR plugin/gem for html validation [closed]用于 html 验证的 RoR 插件/gem [关闭]
【发布时间】:2009-11-27 01:04:44
【问题描述】:

我想知道是否有这样的 Ruby on Rails 插件或 gem,在测试周期中包含 HTML 验证(SGML 或 Tidy)。

我只知道this plugin。寻找替代品...

【问题讨论】:

  • XML 验证也可以吗?
  • 是的,我想 XML 验证也很好。我只是想确保我的应用在所有浏览器中看起来都差不多。

标签: html ruby-on-rails validation rubygems ruby-on-rails-plugins


【解决方案1】:

我将be_valid_asset 与 rspec 和黄瓜一起使用。它使用公共的 W3C 验证器。它没有html_test 有的链接检查。

我在cucumber的webrat_steps.rb这两个步骤中使用它:

Given /^(?:|I )am on (.+)$/ do |page_name|
  visit path_to(page_name)
  response.should be_valid_xhtml if ENV['VALIDATE_HTML']
end

When /^(?:|I )go to (.+)$/ do |page_name|
  visit path_to(page_name)
  response.should be_valid_xhtml if ENV['VALIDATE_HTML']
end

然后我可以运行rake VALIDATE_HTML=1 cucumber 来验证我的黄瓜功能文件访问的所有页面。

【讨论】:

  • 谢谢,斯科特。它对我来说效果很好。我喜欢你使用 env 变量的把戏 :)
【解决方案2】:

这是一个可以实时使用的基于 Rack 的验证器:http://coderack.org/users/nerdEd/entries/95-rackvalidate

【讨论】:

【解决方案3】:

我正在为 Ruby On Rails 应用程序开发一个多合一的 HTML/CSS 验证 gem。它的名字是Headhunter

来自文档:

Headhunter 是一个 HTML 和 CSS 验证工具,可将自身注入到您的 Rails 功能测试中,并自动检查您生成的所有 HTML 和 CSS 的有效性。

此外,它还会查找未使用的(因此是多余的)CSS 选择器。

您所要做的就是在测试环境中将gem 'headhunter' 添加到您的Gemfile 中:

group :test do
  gem 'headhunter'
end

其余的都是自动为您完成的,您将在测试结束时获得应用程序有效性的统计数据,如下所示:

Validated 42 HTML pages.
41 pages are valid.
1 page is invalid.
Open .validation/results.html to view full results.

Validated 1 stylesheets.
1 stylesheet is invalid.
  application.css:
  - Invalid css: line 1: Property bla doesn't exist

Found 23 CSS selectors.
20 selectors are in use.
3 selectors are not in use: a img, #flash.failure, input[type='file']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 2013-10-08
    • 1970-01-01
    相关资源
    最近更新 更多