9

Rails アプリケーションによって生成されたコードをチェックするために使用できる、動作する HTML バリデーターを探して、昨日一日中探し回りました。これまでに、Rails 1.9 で機能しなくなった RailsTidy、Rails コンソールで実行するときに "require" するのに苦労した tidy_ffi、FireFox の Total Validator など、いくつかの異なる戦略を試してきました。チェックしているものに関係なく、常に同じエラーが発生します。

私の目標は、インターネットに何もアップロードせずにコードをチェックすることです。ターミナル (私は RedHat Linux を使用しています) からテストを実行できるか、実行中の localhost サーバーでテストを実行できると非常に便利です。

もう 1 日 (またはそれ以上) イライラすることを避けるために、この質問をここに持ち込んで、Ruby on Rails のバリデーターを使って成功した人が他にいるか知りたいと思います。

4

2 に答える 2

6

私の宝石html_acceptanceを試してみてください。HTML Tidy を使用して内部で検証を行います。少し前に出しましたが、今のところほとんど気付かれていません。問題を報告したり、機能のリクエストがあれば、喜んで検討します。

サンプルにはカスタム RSpec マッチャーがあるので、そのカスタム マッチャーを追加すると、spec/request の統合テストで次のことができます。

page.should have_valid_html

アイデアは、統合テスト内でそれを使用できるということです。気にしない小さな警告/失敗が発生した場合でも (たとえば、TIDY は IE 固有のハックについて不平を言います)、入って、それらを受け入れることができます。検証結果が一定である限り、テストは成功します。

また、パスを整理する必要があります。OS X の場合: port install htmltidy または Ubuntu sudo apt-get install tidy です。

于 2012-07-12T19:55:21.230 に答える
3

Ruby On Rails アプリ用のオールインワン HTML/CSS 検証ジェムに取り組んでいます。その名はヘッドハンター

ドキュメントから:

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']
于 2014-01-19T20:45:19.113 に答える