2016-07-20 14 views
9

Tôi đang làm việc trên ứng dụng đầu tiên của mình kể từ khi tôi cài đặt Rails 5. Khi tôi chạy thông số kỹ thuật của mình cho các thao tác điều khiển, tôi nhận được thông báo cảnh báo bên dưới mặc dù tất cả các thử nghiệm của tôi đã được chuyển.Rails 5 thay đổi kiểm soát bộ điều khiển - `Devise :: TestHelpers` không còn được dùng nữa và sẽ bị xóa khỏi Devise. '

[Devise] including `Devise::TestHelpers` is deprecated and will be removed from Devise.  
For controller tests, please include `Devise::Test::ControllerHelpers` instead. 

Vì vậy, trong spec/rails_helper.rb tôi thay đổi dòng này:

config.include Devise::TestHelpers, type: :controller 

để

config.include Devise::Test::ControllerHelpers 

Sự thay đổi này đã cảnh báo đi, nhưng bây giờ các thông số kỹ thuật cho các mô hình đang thất bại. (Họ đã đi qua trước khi thay đổi.) Làm thế nào tôi nên sửa lỗi này? Cảm ơn!

+1

bạn có thể thêm mã từ một thông số kỹ thuật để kiểm tra không? – neydroid

+0

@neydroid Câu trả lời đầu tiên đã giải quyết được. Tất cả các thông số kỹ thuật cho cả hai mô hình và bộ điều khiển đều được truyền đi và không có thông báo cảnh báo nào khác. Cảm ơn! – emico7

Trả lời

14

Bạn nên thay đổi tập tin spec/rails_helper.rb của bạn như sau:

config.include Devise::Test::ControllerHelpers, type: :controller 

Điều này sẽ đảm bảo rằng các mô-đun Devise::Test::ControllerHelpers chỉ được bao gồm trong các thử nghiệm điều khiển của bạn. Lý do kiểm tra mô hình của bạn không thành công là do mô-đun đó cụ thể cho các kiểm tra của bộ điều khiển.

Các vấn đề liên quan