My absolute favorite solution for this: http://github.com/chrisk/fakeweb/tree/master
I use that in an application I'm building that uses Twitter's OAuth, and otherwise heavily uses the Twitter API. It allows me to easily fake out all of Twitter's responses so I can do unit/integration/acceptance tests (with Cucumber and WebRat for the latter) without touching the network. As a matter of good practice, I always do this first: FakeWeb.allow_net_connect = false That ensures that any outbound HTTP requests that I forgot to fake out will cause FakeWeb to blow up in my face and let me know that I've missed something rather than silently letting it go by. On Tue, May 5, 2009 at 12:34 PM, Pat Maddox <pat.mad...@gmail.com> wrote: > Don't mock the Geolp library directly. Wrap it with an API that fits > your domain better. Then write a very simple object that implements > the same API but doesn't hit the network. You can use a switch > somewhere in env.rb to use your fake implementation or the Geolp one. > > Pat > > On Sunday, May 3, 2009, Matthew Van Horn <mattvanh...@gmail.com> wrote: >> I'm just curious about this, since my solution involved stubbing a call to >> GeoIp. >> >> Is there a good rule of thumb for when you make exceptions to the 'no >> stubbing' philosophy of Cucumber? >> >> My step was: "Given I am accessing the site from Japan," but I can think of >> other situations - mostly when interacting with web services, that I'd >> probably want to stub something, rather than requiring a net connection for >> testing. >> >> thanks for any advice, >> Matt Van Horn >> _______________________________________________ >> rspec-users mailing list >> rspec-users@rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users >> > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > -- Bill Kocik http://bkocik.net _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users