Tôi có một số before_filter
trên lớp học ApplicationController
và tôi muốn viết bài kiểm tra cho nó? Tôi nên viết bài kiểm tra này ở đâu? Tôi không muốn đi vào mọi tệp kiểm tra của lớp con và lặp lại bài kiểm tra về bộ lọc này.Làm thế nào để kiểm tra bộ điều khiển ứng dụng trước khi các phương pháp lọc trong Rails 3?
Do đó, cách được đề xuất để kiểm tra ApplicationController
before_filters là gì?
Lưu ý rằng tôi đang sử dụng Rails 3.2.1
với minitest
.
Nếu bộ lọc là trên một bộ điều khiển cụ thể, tôi đồng ý với cách tiếp cận của bạn. Bộ lọc của tôi được khai báo trên lớp 'ApplicationController' (và được kế thừa cho tất cả các bộ điều khiển xuất phát từ nó). Phương pháp lọc mà tôi sử dụng phải thực hiện với các kiểm tra theo yêu cầu. Tôi cần phải viết một bài kiểm tra ở một nơi mà tôi có thể sử dụng các phương pháp như những người (hoặc tương đương?) Tôi sử dụng khi thử nghiệm một bộ điều khiển cụ thể. Có lẽ câu trả lời của bạn cho vấn đề của tôi là trong cụm từ cuối cùng của bạn ("Nếu bộ lọc ... trong số các bài kiểm tra"), nhưng tôi không thể thấy điều đó. Ngoài ra, làm thế nào để kiểm tra xem phương thức được gắn vào 'before_filter' có thực sự gắn liền với nó không? –
Bạn có thể viết một bộ thử nghiệm được bao gồm trong mọi kiểm tra bộ điều khiển và chạy cho mọi hành động. Điều này nên được đơn giản (r) để làm bằng cách sử dụng RSpec bằng cách sử dụng 'it_behaves_like' (https: // www.relishapp.com/rspec/rspec-core/v/2-0/docs/example-groups/shared-example-group), nhưng trên Test đơn giản :: Đơn vị bạn có thể làm những thứ như vậy. Có thể bạn có thể lấy cảm hứng từ ActiveModel :: Lint: Bài kiểm tra (http://api.rubyonrails.org/classes/ActiveModel/Lint/Tests.html - https://github.com/rails/rails/blob/master/activemodel /lib/active_model/lint.rb) –