用于html验证的RoR插件/ gem

时间:2009-11-27 01:04:45

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

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

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

3 个答案:

答案 0 :(得分: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来验证黄瓜功能文件访问过的所有页面。

答案 1 :(得分:0)

这是一个可以在线使用的基于机架的验证器:http://coderack.org/users/nerdEd/entries/95-rackvalidate

答案 2 :(得分:0)

我正在为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']