我写了一个小程序,使用机械化来遍历一个站点。
我想为它编写测试,但不希望它每次运行测试时都登录到网站上。我想模拟一下互联网,这样当它访问某个站点时,它只会返回存储的结果。
这里有一个小例子,假设我的代码的目的是从google主页上拉出链接,所以我编写了一个测试,以确保我的代码找到的第一个链接包含文本"Images“。我可能会这样写:
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 links 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
我如何模拟google.com,以便可以在没有实际访问互联网的所有开销的情况下测试my_code_to_find_links?
谢谢-Josh
https://stackoverflow.com/questions/2151827
复制相似问题