En mi proyecto Rails 3.2, envío una solicitud http ocasional a http://jsonip.com
desde Javascript. Pero cuando ejecuta Cucumber con la etiqueta @javascript
, la solicitud se envía con mucha frecuencia. Obviamente, esto es muy indeseable y me gustaría rescindir tales solicitudes. Ahora, pensé que podía usar el stub_request
de webmock
para esto, así:Aplazamiento de solicitudes de Ajax en Pepino/Capibara/Selenio?
Before do
stub_request(:any, /.*jsonip.*/).to_return(:body => '{"ip":"24.104.73.2","about":"/about"}')
end
pero incluso con esto en su lugar, jsonip
se llama a partir de Javascript. Y así descubrí que webmock
en realidad no resuelve la solicitud de Ajax (al menos no con la declaración anterior stub_request
).
¿Cuál es la forma correcta de indicar la solicitud de Ajax en una configuración de pepino/capibara/selenio?
Hmmm, sí ... tenía miedo de eso. Lo tengo que trabajar ahora simplemente generando una variable de Javascript que contiene 0 cuando el entorno Rails es desarrollo, 1 cuando es prueba y 2 cuando está en producción. Luego evito que Ajax llame al servicio externo cuando la variable es igual a 1. No es la solución más hermosa, pero funciona. Gracias, Iafonov. –