如何测试爬虫?即:模拟网络请求

时间:2010-02-05 14:14:29

标签: ruby webrick

所以我正在测试我的爬虫的各个部分,现在我遇到了一个问题:嘲笑实际的请求。

每次运行规范时,我都不想发出请求。

有人试过在测试助手中启动webrick服务器吗?

这样的东西
myserver = SomeServerLib.start('localhost', some_port)
myserver.serve_directory(a_directory_with_some_html_files)

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以模拟HTTP请求并使用期望。 见Webmock项目。

答案 1 :(得分:0)

您还可以使用FakeWeb,它允许您在测试期间提供预设的HTTP响应。

http://fakeweb.rubyforge.org/

(作为旁注,如果你使用Net :: HTTP,你可能应该研究替代方案。它非常慢。查看em-http-request)