Có thể cấu hình toàn cầu RSpec để sử dụng trình điều khiển JavaScript của Capybara (mặc định hoặc tùy chỉnh) cho tất cả các thông số yêu cầu không? Đôi khi, chúng tôi quên thêm js: true
theo cách thủ công vào mọi thông số yêu cầu và điều đó gây phiền toái.Cấu hình RSpec để sử dụng Capybara.javascript_driver cho tất cả các thông số yêu cầu
Trả lời
Trong spec_helper.rb, thiết lập như sau:
config.before(:each) do
if example.metadata[:type] == :request
Capybara.current_driver = :selenium # or equivalent javascript driver you are using
else
Capybara.use_default_driver # presumed to be :rack_test
end
end
Đối với các phiên bản sau của Capybara và rspec, điều quan trọng là phải kiểm tra loại là "tính năng"
config.before(:each) do
if [:request, :feature].include? example.metadata[:type]
Capybara.current_driver = :poltergeist # or equivalent javascript driver you are using
else
Capybara.use_default_driver # presumed to be :rack_test
end
end
hoặc cho RSpec 3 (vượt qua example
vào khối)
config.before(:each) do |example|
if [:request, :feature].include? example.metadata[:type]
Capybara.current_driver = :poltergeist # or equivalent javascript driver you are using
else
Capybara.use_default_driver # presumed to be :rack_test
end
end
Nếu bạn đang sử dụng RSpec> = 3, bạn sẽ cần phải viết dòng đầu tiên của lệnh này như 'config.before (: each) do | example |' để có được cùng một hành vi. Thông tin khác qua @ joshua-muheim tại đây: http://stackoverflow.com/a/24571607/2948832 – styger
@styger, Cảm ơn, tôi đã cập nhật câu trả lời. – justingordon
Tham khảo giải pháp này nếu bạn muốn chạy tất cả thử nghiệm ca ses cùng một lúc.
Đặt thông tin liên quan vào bài đăng. –
- 1. Cách tạo một bài viết áp dụng cho tất cả các tệp thông số trong RSpec
- 2. Rspec: cách yêu cầu spec.env trong thông số trợ giúp?
- 3. Định cấu hình web.xml (Tomcat 5) cho một servlet để xử lý tất cả các yêu cầu gửi đến?
- 4. Bắt tất cả các thông số URL sử dụng regex
- 5. Phương pháp tiếp cận để tăng tốc thông số yêu cầu RSpec
- 6. Thông số yêu cầu RSpec/Capybara Yêu cầu - Không thể đưa ra để POST phiên người dùng mới
- 7. Tại sao thông số yêu cầu rspec này không cập nhật mô hình?
- 8. Bắt tất cả các thông số yêu cầu trong Symfony 2
- 9. Bộ lọc Servlet cho tất cả các yêu cầu
- 10. Làm thế nào để thử gọi JSONP trong thông số yêu cầu rspec với capybara?
- 11. Làm thế nào để yêu cầu Json.Net trên toàn cầu áp dụng StringEnumConverter cho tất cả các enums
- 12. Thêm thông số yêu cầu để yêu cầu
- 13. AngularJS chặn tất cả các yêu cầu $ http
- 14. javascript: hủy tất cả các loại yêu cầu
- 15. Cách ghi đè lên node.js http để sử dụng proxy cho tất cả các yêu cầu gửi đi
- 16. yêu cầu python: để nhận thông số
- 17. Làm cách nào để yêu cầu mật khẩu cho tất cả các tệp ngoại trừ một tệp sử dụng .htaccess?
- 18. Cách tốt nhất để đặt tiêu đề yêu cầu tùy chỉnh khi sử dụng Capybara trong thông số yêu cầu RSpec là gì?
- 19. Sử dụng ứng dụng khách áo để thực hiện thao tác POST với thông số yêu cầu và yêu cầu
- 20. CORS trong grails - Tất cả các yêu cầu thất bại?
- 21. Rspec: thêm một số yêu cầu tiêu đề bên trong thông số định tuyến
- 22. Yêu cầu và thông tin cấu hình cơ bản cho Flask
- 23. Grails ràng buộc yêu cầu các thông số để enum
- 24. Làm thế nào để có được tất cả các thông số yêu cầu trong Play và Scala
- 25. Nhật ký yêu cầu cho tất cả các phiên bản của ứng dụng Google App Engine
- 26. Định tuyến lại tất cả các yêu cầu php thông qua index.php
- 27. Nên encodeURIComponent được sử dụng để mã hóa các thông số của yêu cầu ajax post?
- 28. Cấu hình Bộ nhớ librirypto yêu cầu
- 29. spring mvc nhận tất cả các ánh xạ yêu cầu
- 30. RSpec: Sự khác biệt giữa tính năng và thông số yêu cầu là gì?
Điều đó có tác dụng nhưng tôi muốn giới hạn điều này để yêu cầu thông số kỹ thuật. Tất nhiên tôi có thể đặt dòng này trong mỗi tập tin spec yêu cầu duy nhất, nhưng tôi muốn cấu hình nó trên toàn cầu. Loại giống như bạn có thể bao gồm các mô-đun cụ thể cho một số loại thông số kỹ thuật nhất định. – rubiii
@rubiii được cập nhật bằng cách kiểm tra loại thông số – prusswan
có vẻ tốt. Cảm ơn nhiều! – rubiii