2012-07-12 10 views
7

私は昨日、私のレールアプリケーションで生成されたコードをチェックするために使用できる、動作するHTMLバリデーターを一日中見てきました。これまでは、RailsTidy(Rails 1.9、tidy_ffiのように動作しなくなったRailsTidyなど)を試しました。これは、レールコンソールで実行するときに "必要な"作業をしていました.FireFoxのTotal Validator、それは私が何をチェックしているかにかかわらず常に私に同じエラーを与えます。Ruby on Rails用の(ローカル)HTMLバリデーターはありますか?

私の目標は、インターネットに何もアップロードする必要はありませんが、私のコードをチェックすることです。ターミナル(私はRedHat Linuxを使用しています)からテストを実行したり、実行中のlocalhostサーバーでテストを実行したりすることができれば大いに役立ちます。

もう1日(あるいはそれ以上)の欲求不満を解消するために、私はこの質問をここに持ち込みました。他の誰かがRuby on Railsのバリデーターにうまくいきましたか?

+0

StackOverflowの上でこの質問をチェックアウト:http://stackoverflow.com/questions/1287952/how-do-i-validate-xhtml-with-nokogiri –

+0

ありがとうございました、このようなあなたのテストの終わり、私はtrよこれはアウト。 – boka

答えて

4

私の宝石、html_acceptanceを試してみてください。 HTML Tidyを使用して、フードの下で検証を行います。私はしばらく前にそれを出しましたが、これまでほとんど気づかれていませんでした。それは私にとって有益であり、あなたが問題を報告したり、機能要求を持っていれば、私はそれを喜んで見ていきます。サンプルで

あなたはそのカスタム照合を追加するので、もし、私は、カスタムRSpecの照合を持って、仕様であなたの統合テストに/あなたが行うことができます要求します

page.should have_valid_html 

アイデアは、あなたが内にそれを使用することができていますあなたが気にしない軽微な警告/失敗を得たとしても(たとえば、TIDYはIEの特定のハッキングについて不平を言っています)、あなたは入り込み、それを受け入れ、検証結果が一定である限り、テストは終了します。

また、パス上に整頓が必要です。だからOS Xで:ポートをインストールするhtmltidyまたはUbuntu sudo apt-get install tidy。

+0

私の答えにどのように使おうとしていたのかをもう少し詳しく紹介しました。 – ebeland

+0

私の前のコメントを追加すると、これは信じられないほど簡単です。 私が心配する必要がある主要な設定はありますか? (整頓とあなたの宝石のインストール以外) – boka

+0

いいえ、結果ファイルを保存する場所を決めて、そのフォルダを作成するだけです。/ tmp/validation(例による)ではなく、シナリオに応じてプロジェクト内のフォルダを使用するかもしれません。ああ、RSpecでこれを使用しているのなら、カスタムマッチャー(in/samples)を必要とすることを忘れないでください。 – ebeland

2

私は、Ruby On Railsアプリケーション用のオールインワンHTML/CSS検証宝石を開発中です。名前はHeadhunterです。ドキュメントから

ヘッドハンターは、テストを備えていますし、自動的に妥当性のため、すべての生成されたHTMLとCSSをチェックし、あなたのRailsの中に自分自身を挿入し、HTMLとCSS検証ツールです。

さらに、未使用の(したがって不必要な)CSSセレクタも探します。

あなたがしなければならないのは、テスト環境であなたのGemfileにgem 'headhunter'を追加することです:

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'] 
関連する問題