RoR-Plugin / gem für HTML-Validierung [geschlossen]
-
05-07-2019 - |
Frage
Ich frage mich, ob es ein solches Plugin oder ein Edelstein für Ruby on Rails ist die HTML-Validierung (SGML oder Tidy) in einem Testzyklus umfasst.
Ich bin mir bewusst nur über dieses Plugin . Suche nach Alternativen ...
Lösung
Ich benutze be_valid_asset
mit rspec und Gurken. Es verwendet den öffentlichen W3C-Validator. Es hat nicht den Link, der html_test
Kontrolle hat.
Ich benutze es in diesen beiden Schritten in Gurke des 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
Dann kann ich laufen rake VALIDATE_HTML=1 cucumber
alle Seiten durch meine Gurke Feature Dateien besucht zu validieren.
Andere Tipps
Hier ist ein Rackbasierte Validator, die Live verwendet werden können: http: // coderack .org / users / nerdEd / Einträge / 95-rackvalidate
Ich arbeite an einem All-in-one HTML / CSS-Validierung Juwel für Ruby on Rails-Anwendungen. Sein Name ist Headhunter .
Aus der Dokumentation:
Headhunter ist ein HTML und CSS-Validierung-Tool, das sich in Ihrer Rails verfügen Tests injiziert und automatisch überprüft alle generierten HTML und CSS für die Gültigkeit.
Darüber hinaus sieht es auch, für ungenutzte (und daher überflüssig) CSS-Selektoren.
Alles, was Sie tun müssen, ist gem 'headhunter'
zu Ihrem Gemfile in Testumgebung hinzufügen:
group :test do
gem 'headhunter'
end
Der Rest ist alles automatisch für Sie erledigt, und Sie erhalten eine Statistik für Ihre Anwendung validness am Ende der Tests, wie diese:
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']