Testing webservices in Integration Tests with Jamis Buck's recipe?

Hello,

I'm using Jamis Buck's recipe to do integration tests on an application, but I got a nil.recycle! error while doing a webservice call.

This is the situation.

def test_uploading_data    invoke :upload, data    invoke :upload, even_more_data

   real_user_session = new_session_as @real_user    real_user_session.press_magic_button_to_enable_more_uploads

   invoke :upload, super_new_data end

Test test results in a nil.recycle! error message on the last invoke:

NoMethodError: You have a nil object when you didn't expect it! The error occurred while evaluating nil.recycle!     /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/ action_web_service/test_invoke.rb:32:in `prepare_request'     /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/ action_web_service/test_invoke.rb:9:in `invoke'

It seems that the default @request in the setup is corrupted by our open_session implementation? Can somebody help me on this?

Best regards, Jeroen Knoops

Hi Jeroen,

  I was having exactly this error in my functional tests. I added the following method to my test class:

  def setup     @controller = MyController.new     @request = ActionController::TestRequest.new     @response = ActionController::TestResponse.new   end

...and everything went through fine. Hope that helps!

- Eric Budd