1

我想知道在測試周期中是否有包含HTML驗證(SGML或Tidy)的Ruby on Rails的插件或gem。用於html驗證的RoR插件/ gem

我知道只有約this plugin。尋找替代品...

+0

會XML驗證嗎? – 2009-11-27 01:31:14

+0

是的,我猜XML驗證也沒問題。我只是想確保我的應用在所有瀏覽器中看起來都差不多。 – Konstantin 2009-11-27 01:41:03

回答

1

我使用be_valid_asset rspec和黃瓜。它使用公共W3C驗證器。它沒有鏈接檢查html_test

我在黃瓜的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來驗證我的黃瓜功能文件訪問的所有頁面。

+0

謝謝,斯科特。 它對我很好。 而我喜歡你的詭計與env變量:) – Konstantin 2009-11-27 06:28:21

0

我對Ruby on Rails的應用程序的所有功能於一身的HTML/CSS驗證寶石的工作。它的名字是Headhunter

從文檔:

獵頭者是自身注入到你的Rails功能測試,並自動檢查你的所有生成的HTML和CSS的有效性的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']