On Jun 20, 2010, at 1:30 AM, Matt Wynne wrote: > > On 19 Jun 2010, at 00:35, David Chelimsky wrote: > >> On Jun 18, 2010, at 5:02 PM, Marcelo de Moraes Serpa wrote: >> >>> Hi David, thanks for the reply, >>> >>> Hmm, considering we have: >>> 1) The ruby process where the spec is running >>> 2) A mongrel server serving request (test environment) >>> >>> If I call FakeWeb on #1, it won't work on #2, since they are separated >>> processes and FakeWeb would only monkeypatch Net::HTTP for #1. Or am I >>> missing something? >> >> No, I was missing something :) >> >> I'm not sure what the best way is here. On the apps I'm working on now, we >> typically have all the ajax calls go back to the app and then make requests >> to web services from the server. Makes it easier to test, log failures, etc, >> etc. >> >> Anybody else here testing client side web service calls? > > David, I think you and the OP are still talking at cross-purposes. > > Are you saying that when you use Capybara, the SUT runs in the same process > as the tests, even when you're doing javascript/ajax tests?
No. That's what I meant by "No, I was missing something" - I had forgotten about the separate processes when I responded earlier. > >> >>> >>> Thanks! >>> >>> Marcelo. >>> >>> On Fri, Jun 18, 2010 at 1:18 PM, David Chelimsky <dchelim...@gmail.com> >>> wrote: >>> On Jun 18, 2010, at 12:02 PM, Marcelo de Moraes Serpa wrote: >>> >>>> One thing that just came to my mind is to fake the requests on the app >>>> server instance. One simple way to do that would be to just put the >>>> FakeWeb call in a cucumber / culerity environment file. However, this is >>>> far from being elegant and is not scalable at all, as the call would be >>>> contextless to the spec that needs it. >>> >>> How about putting it in a step/step definition before the call gets made? >>> >>>> >>>> Any other ideas? >>>> >>>> Marcelo. >>>> >>>> On Fri, Jun 18, 2010 at 11:46 AM, Marcelo de Moraes Serpa >>>> <celose...@gmail.com> wrote: >>>> Hello all, >>>> >>>> I have an acceptance test that aims to bdd a Google Apps OpenID >>>> authentication feature. This login screen also uses some JS (in order to >>>> switch between the regular / Google OpenID forms). Now, I know this is not >>>> something that would prevent me from using the :rack driver for Capybara, >>>> but it made me think of the following problem: What to do when you have a >>>> JS/Ajax-oriented page that makes web service calls and you need to write >>>> an integration/acceptance test for it? >>>> >>>> The fact that a scenario uses Javascript (Culerity/Selenium/Whatever) >>>> means it will need to spawn a different process (Not sure about EnvJS, but >>>> I guess it also needs a rails server running? ) for the rails app server. >>>> This essentially prevents any mocking/stubbing/faking of requests. I >>>> wouldn't want a bunch of acceptance tests that actually make requests to >>>> web services, certainly a testing no-no. >>>> >>>> What do you guys think could be done in these cases? I remember seeing >>>> something a long time ago (a lib) that actually tried to solve the problem >>>> of mocking while having the two processes open. Or maybe it's too much >>>> troube to write integration tests for these kind of features? >>>> >>>> FYI, I'm using rSpec, Steak and Capybara+Culerity. >>>> >>>> Marcelo. >>>> >>>> >>>> >>>> _______________________________________________ >>>> 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 >>> >>> _______________________________________________ >>> 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 > > _______________________________________________ > 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