On Feb 2, 2012, at 6:06 PM, Lille wrote: > When I use these commands from the application root > > rspec spec > rspec spec/controllers > > I get errors (an example will be shown below) for every controller > test in my subdirectory spec/controllers/api/beta, where the > controller namespacing is carried over in any test as follows > > describe Api::Beta1::ThingController ... > > Somehow, I do NOT get any errors for the tests in the subdirectory > when I run this command from the application root > > rspec spec/controllers/api/beta > > Here is an example of the error I get, with backtrace: > > 23) Api::Beta1::ThingController#loan server-side failure should have > status code 500 and expected message body > Failure/Error: response = post(action, params) > ActionController::RoutingError: > No route matches {:controller=>"api/beta1/ > thing", :action=>"loan"} > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_dispatch/routing/route_set.rb:464:in > `raise_routing_error' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_dispatch/routing/route_set.rb:460:in > `rescue in generate' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_dispatch/routing/route_set.rb:452:in > `generate' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_dispatch/routing/route_set.rb:493:in > `generate' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_dispatch/routing/route_set.rb:489:in > `generate_extras' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_dispatch/routing/route_set.rb:485:in > `extra_keys' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_controller/test_case.rb:145:in > `assign_parameters' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_controller/test_case.rb:438:in `process' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_controller/test_case.rb:49:in `process' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/ > actionpack-3.1.0/lib/action_controller/test_case.rb:370:in `post' > # ./spec/controllers/api/beta1/thing_controller_spec.rb:72:in > `raw_post' > # ./spec/controllers/api/beta1/thing_controller_spec.rb:57:in > `block (3 levels) in <top (required)>' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/hooks.rb:35:in `instance_eval' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/hooks.rb:35:in `run_in' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/hooks.rb:70:in `block in run_all' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/hooks.rb:70:in `each' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/hooks.rb:70:in `run_all' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/hooks.rb:116:in `run_hook' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:221:in `block in > eval_before_eachs' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:221:in `each' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:221:in `eval_before_eachs' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example.rb:145:in `run_before_each' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example.rb:47:in `block in run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example.rb:107:in `with_around_hooks' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example.rb:45:in `run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:294:in `block in > run_examples' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:290:in `map' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:290:in `run_examples' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:262:in `run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:263:in `block in run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:263:in `map' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/example_group.rb:263:in `run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/command_line.rb:24:in `block (2 levels) in > run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/command_line.rb:24:in `map' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/command_line.rb:24:in `block in run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/reporter.rb:12:in `report' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/command_line.rb:21:in `run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/runner.rb:80:in `run_in_process' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/runner.rb:69:in `run' > # /Users/lille/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rspec- > core-2.6.4/lib/rspec/core/runner.rb:11:in `block in autorun' > > I missed this issue when developing my tests, because I was running > them using the command that succeeds. Now, I'm in trouble because I > want to step back and test everything with a simple command from the > app root: > > rspec spec
Thanks for the more detailed response. It definitely helps to understand what you're doing more clearly, though it sadly doesn't shed enough light on the problem (at least for me - this is not a problem I remember hearing of before). Can you post the relevant parts of config/routes.rb and the spec that's failing in the example above? _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users