Escribí un pequeño programa que usa Mechanize para recorrer un sitio.Cómo probar una aplicación de ruby que utiliza mecanizar
Quiero escribir pruebas para ello, pero no quiero que realmente inicie sesión en el sitio cada vez que ejecuto las pruebas. Me gustaría burlarme de Internet, de modo que cuando vaya a algún sitio, simplemente devuelva los resultados almacenados.
Aquí hay un pequeño ejemplo, pretendo que el propósito de mi código era sacar enlaces de la página de inicio de google, así que escribo una prueba para asegurar que el primer enlace que mi código encuentre tenga el texto "Imágenes". Yo podría escribir algo como esto:
require 'rubygems'
require 'mechanize'
require 'test/unit'
def my_code_to_find_links
google = WWW::Mechanize.new.get('http://www.google.com')
# ...
# some code to figure out which liks it wants
# ...
google.links
end
class TestGoogle < Test::Unit::TestCase
def test_first_link_is_images
assert_equal 'Images' , my_code_to_find_links.first.text
end
end
¿Cómo se burlan de google.com para que pueda probar my_code_to_find_links sin toda la sobrecarga de realidad acceso a internet?
gracias -Josh
Gracias, esto funcionó para mí. Aquí hay una solución que muestra el ejemplo de trabajo: http://github.com/JoshCheek/Play/tree/master/mocking-the-internet/ –