Trong dự án Rails 3.2 của tôi, tôi thỉnh thoảng gửi yêu cầu http đến http://jsonip.com
từ Javascript. Nhưng khi chạy Cucumber với thẻ @javascript
, yêu cầu sẽ được gửi rất thường xuyên. Điều này rõ ràng là rất không mong muốn và tôi muốn yêu cầu như vậy. Bây giờ, tôi nghĩ rằng tôi có thể sử dụng stub_request
từ webmock
cho điều này, như vậy:Đưa các yêu cầu Ajax vào Cucumber/Capybara/Selenium?
Before do
stub_request(:any, /.*jsonip.*/).to_return(:body => '{"ip":"24.104.73.2","about":"/about"}')
end
nhưng ngay cả với điều này tại chỗ, jsonip
được gọi từ Javascript. Và tôi thấy rằng webmock
không thực sự yêu cầu Ajax (ít nhất là không có câu lệnh trên stub_request
).
Cách thích hợp để yêu cầu Ajax yêu cầu trong thiết lập Cucumber/Capybara/Selenium là gì?
Hmmm, vâng ... tôi sợ điều đó. Tôi đã nhận nó để làm việc ngay bây giờ bằng cách tạo ra một biến Javascript giữ 0 khi môi trường Rails được phát triển, 1 khi nó là kiểm tra và 2 khi nó được sản xuất. Sau đó tôi ngăn chặn cuộc gọi Ajax tới dịch vụ bên ngoài khi biến bằng 1. Không phải là giải pháp đẹp nhất, nhưng nó hoạt động. Cảm ơn, Iafonov. –