On 10/4/07, Geoffrey Wiseman <[EMAIL PROTECTED]> wrote: > I'd like to write a test of a REST service wherein XML is submitted as the > request entity. > > In Test::Unit on Rails, this seems to be possible in an integration test, > but not in a functional test. RSpec uses the Rails functional test > framework, as far as I can tell, so it suffers the same result; it tries to > symbolize the keys of the 'parameters' hash, except the parameters aren't a > hash: > > > 1) > > NoMethodError in 'Assign Roles to Users should assign a single role' > > undefined method `symbolize_keys' for #<String:0xb722d71c> > > > /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/test_process.rb:101:in > `assign_parameters' > > /usr/lib/ruby/gems/1.8/gems/actionpack- > 1.13.3/lib/action_controller/test_process.rb:377:in > `process' > > > /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/test_process.rb:353:in > `put' > > ./spec/controllers/assign_role_to_users_spec.rb:42: > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/example.rb:81:in > `instance_eval' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/example.rb:81:in > `run_example' > > /usr/lib/ruby/gems/1.8/gems/rspec- > 1.0.8/lib/spec/dsl/example.rb:26:in `run' > > /usr/lib/ruby/1.8/timeout.rb:48:in `timeout' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/example.rb:24:in > `run' > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8 > /lib/spec/dsl/behaviour.rb:81:in `run' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/behaviour.rb:75:in > `each' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/dsl/behaviour.rb:75:in > `run' > > /usr/lib/ruby/gems/1.8/gems/rspec- > 1.0.8/lib/spec/runner/behaviour_runner.rb:58:in > `run_behaviours' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:57:in > `each' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:57:in > `run_behaviours' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/behaviour_runner.rb:21:in > `run' > > > /usr/lib/ruby/gems/1.8/gems/rspec-1.0.8/lib/spec/runner/command_line.rb:17:in > `run' > > /usr/lib/ruby/gems/1.8/gems/rspec- 1.0.8/bin/spec:3: > > /usr/bin/spec:16:in `load' > > /usr/bin/spec:16: > > > > Finished in 0.594615 seconds > > Thoughts? Has anyone found a way around this with the current (1.0.8) > RSpec? Is this something that is addressed by the Story Runner in trunk?
Story/Scenario Runner is indeed your solution. For Rails apps it wraps rails integration tests. > > Thanks in advance for any advice, > > - Geoffrey > -- > Geoffrey Wiseman > > _______________________________________________ > rspec-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
