Question

Je me demande s’il existe un plug-in ou un bijou pour Ruby on Rails qui inclut la validation HTML (SGML ou Tidy) dans un cycle de test.

Je ne connais que ce plugin . À la recherche d'alternatives ...

Était-ce utile?

La solution

J'utilise be_valid_asset avec rspec et le concombre. Il utilise le validateur public du W3C. Le lien ne vérifie pas que test_html a.

Je l'utilise dans ces deux étapes dans le webrat_steps.rb du concombre:

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

Ensuite, je peux exécuter rake VALIDATE_HTML = 1 concombre pour valider toutes les pages visitées par mes fichiers de caractéristiques de concombre.

Autres conseils

Voici un validateur basé sur Rack qui peut être utilisé en direct: http: // coderack .org / users / nerdEd / entries / 95-rackvalidate

Je travaille actuellement sur un joyau de validation HTML / CSS tout-en-un pour les applications Ruby On Rails. Son nom est Chasseur de têtes .

À partir de la documentation:

  

Headhunter est un outil de validation HTML et CSS qui s’injecte dans les tests de votre fonctionnalité Rails et vérifie automatiquement la validité de tous vos codes HTML et CSS générés.

     

De plus, il recherche également les sélecteurs CSS non utilisés (et donc superflus).

Il suffit d'ajouter gem 'chasseur de têtes' à votre fichier Gemfile dans l'environnement de test:

group :test do
  gem 'headhunter'
end

Le reste est fait automatiquement pour vous, et vous obtiendrez une statistique sur la validité de votre application à la fin de vos tests, comme ceci:

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']
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top