2012-07-12 21 views
7

Tôi đã xem xét tất cả các ngày hôm qua cho một trình xác nhận HTML làm việc mà tôi có thể sử dụng để kiểm tra mã được tạo ra bởi ứng dụng đường ray của tôi. Cho đến nay, tôi đã thử một số chiến lược khác nhau như RailsTidy, mà không còn hoạt động như của Rails 1.9, tidy_ffi, mà tôi đã có một thời gian khó "yêu cầu" -ing khi chạy trong giao diện điều khiển đường ray, và Tổng số của FireFox, mà luôn mang lại cho tôi cùng một lỗi bất kể những gì tôi đang kiểm tra.Có bất kỳ trình xác thực HTML (cục bộ) nào cho Ruby on Rails hoạt động không?

Mục tiêu của tôi là để kiểm tra mã của tôi trong khi không cần phải tải lên bất cứ điều gì với internet. Nó sẽ là hữu ích nhất để có thể chạy thử nghiệm từ các thiết bị đầu cuối (Tôi đang sử dụng RedHat Linux) hoặc chạy thử nghiệm trên một máy chủ localhost đang chạy.

Để tiết kiệm cho bản thân mình một ngày khác (hoặc có thể nhiều hơn) sự thất vọng, tôi đã đưa câu hỏi này vào đây và tôi muốn biết liệu có ai khác đã làm việc thành công với người xác thực cho Ruby on Rails không.

+0

Kiểm tra câu hỏi này trên StackOverflow: http://stackoverflow.com/questions/1287952/how-do-i-validate-xhtml-with-nokogiri –

+0

Cảm ơn bạn, Tôi sẽ tr y này ra. – boka

Trả lời

4

Thử đá quý của tôi, html_acceptance. Nó sử dụng HTML Tidy để thực hiện xác thực dưới mui xe. Tôi đặt nó ra một thời gian trước đây, nhưng cho đến nay nó đã hầu như không được chú ý. Nó có ích cho tôi, và nếu bạn báo cáo các vấn đề/có yêu cầu tính năng, tôi sẽ vui vẻ nhìn chúng.

Trong mẫu, tôi có một tùy chỉnh RSpec khớp, vì vậy nếu bạn thêm rằng khớp tùy chỉnh, trong các thử nghiệm hội nhập của bạn trong spec/yêu cầu bạn có thể làm:

page.should have_valid_html 

Ý tưởng là bạn có thể sử dụng nó trong vòng kiểm thử tích hợp và thậm chí nếu bạn nhận được cảnh báo/thất bại nhỏ mà bạn không quan tâm (TIDY phàn nàn về một số hack cụ thể của IE), bạn có thể truy cập, chấp nhận chúng và miễn là kết quả xác thực là không đổi, kiểm tra sau đó sẽ vượt qua.

Ngoài ra, bạn cần phải gọn gàng trên đường dẫn. Vì vậy, trên OS X: cổng cài đặt htmltidy hoặc Ubuntu sudo apt-get cài đặt gọn gàng.

+0

Đã thêm một chút thông tin về cách nó được sử dụng để trả lời ... – ebeland

+0

Phụ thêm vào nhận xét trước của tôi, điều này có vẻ vô cùng đơn giản. Có bất kỳ thiết lập chính nào tôi cần phải lo lắng không? (Khác với cài đặt gọn gàng và đá quý của bạn) – boka

+0

Không, chỉ cần quyết định vị trí cho các tệp kết quả được lưu trữ và tạo thư mục đó.Thay vì/tmp/validation (mỗi ví dụ) tôi có thể sử dụng một cái gì đó sử dụng một thư mục trong dự án tùy thuộc vào kịch bản. Oh và đừng quên yêu cầu trình phù hợp tùy chỉnh (trong/mẫu), nếu bạn đang sử dụng nó với RSpec. – ebeland

2

tôi đang làm việc trên một tất cả-trong-một HTML/CSS xác nhận đá quý cho các ứng dụng Ruby On Rails. Tên của nó là Headhunter.

Từ các tài liệu:

Headhunter là một HTML và CSS công cụ xác nhận rằng tiêm mình thành Rails của bạn tính năng kiểm tra và Automagically kiểm tra tất cả HTML và CSS tạo của bạn cho hiệu lực.

Bên cạnh đó, nó cũng nhìn ra cho không sử dụng (và do đó không cần thiết) selectors CSS.

Tất cả bạn phải làm là thêm gem 'headhunter' để Gemfile của bạn trong môi trường thử nghiệm:

group :test do 
    gem 'headhunter' 
end 

Phần còn lại là tất cả được thực hiện automagically cho bạn, và bạn sẽ nhận được một thống kê cho validness ứng dụng của bạn tại cuối bài kiểm tra của bạn, như thế này:

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'] 
Các vấn đề liên quan