Hi guys, After updating to edge rails I've just struck this problem too. I've just grabbed fresh updates of rspec, rspec-rails, and rails and I'm receiving a few controller spec failures related to view rendering when views shouldn't be rendered (failures relate to mock objects not having expected attributes and methods).
I've logged this in lighthouse -> http://rspec.lighthouseapp.com/projects/5645-rspec/tickets/516 Here's a copy of the full backtrace of one of the fails: vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:376:in `raise_named_route_error' vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:340:in `generate' vendor/rails/actionpack/lib/action_controller/url_rewriter.rb:208:in `rewrite_path' vendor/rails/actionpack/lib/action_controller/url_rewriter.rb:187:in `rewrite_url' vendor/rails/actionpack/lib/action_controller/url_rewriter.rb:165:in `rewrite' vendor/rails/actionpack/lib/action_controller/base.rb:630:in `url_for' vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb:85:in `send' vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb:85:in `url_for' (eval):15:in `user_path' vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb:111:in `__send__' vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb:111:in `polymorphic_url' vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb:118:in `polymorphic_path' vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb:91:in `url_for' vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb:228:in `link_to' app/views/home/index.html.erb:5 app/views/home/index.html.erb:4:in `each' app/views/home/index.html.erb:4 vendor/rails/actionpack/lib/action_view/renderable.rb:35:in `send' vendor/rails/actionpack/lib/action_view/renderable.rb:35:in `render' vendor/rails/actionpack/lib/action_view/template.rb:68:in `render_template' vendor/rails/actionpack/lib/action_view/base.rb:266:in `orig_render' vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb:26:in `render' vendor/rails/actionpack/lib/action_view/base.rb:369:in `_render_with_layout' vendor/rails/actionpack/lib/action_view/base.rb:260:in `orig_render' vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb:26:in `render' vendor/rails/actionpack/lib/action_controller/base.rb:1118:in `render_for_file' vendor/rails/actionpack/lib/action_controller/base.rb:881:in `render_without_benchmark' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb:213:in `render' vendor/rails/actionpack/lib/action_controller/base.rb:853:in `render_without_benchmark' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb:213:in `render' vendor/rails/actionpack/lib/action_controller/base.rb:1170:in `default_render' vendor/rails/actionpack/lib/action_controller/base.rb:1176:in `perform_action_without_filters' vendor/rails/actionpack/lib/action_controller/filters.rb:617:in `call_filters' vendor/rails/actionpack/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:293:in `measure' vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' vendor/rails/actionpack/lib/action_controller/rescue.rb:202:in `perform_action_without_caching' vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action' vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:48:in `cache' vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache' vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action' vendor/rails/actionpack/lib/action_controller/base.rb:535:in `send' vendor/rails/actionpack/lib/action_controller/base.rb:535:in `process_without_filters' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' vendor/rails/actionpack/lib/action_controller/base.rb:535:in `process_without_filters' vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `process_without_session_management_support' vendor/rails/actionpack/lib/action_controller/session_management.rb:130:in `process_without_test' vendor/rails/actionpack/lib/action_controller/test_process.rb:18:in `process' vendor/rails/actionpack/lib/action_controller/test_process.rb:400:in `process' vendor/rails/actionpack/lib/action_controller/test_process.rb:371:in `get' controllers/home_controller_spec.rb:12 vendor/plugins/rspec/lib/spec/example/example_methods.rb:83:in `instance_eval' vendor/plugins/rspec/lib/spec/example/example_methods.rb:83:in `eval_block' vendor/plugins/rspec/lib/spec/example/example_methods.rb:21:in `execute' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:48:in `timeout' vendor/plugins/rspec/lib/spec/example/example_methods.rb:18:in `execute' vendor/plugins/rspec/lib/spec/example/example_group_methods.rb:305:in `execute_examples' vendor/plugins/rspec/lib/spec/example/example_group_methods.rb:304:in `each' vendor/plugins/rspec/lib/spec/example/example_group_methods.rb:304:in `execute_examples' vendor/plugins/rspec/lib/spec/example/example_group_methods.rb:132:in `run' vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb:22:in `run' vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb:21:in `each' vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb:21:in `run' vendor/plugins/rspec/lib/spec/runner/options.rb:115:in `run_examples' vendor/plugins/rspec/lib/spec.rb:21:in `run' vendor/plugins/rspec/lib/spec/runner.rb:192:in `register_at_exit_hook' controllers/home_controller_spec On Sun, Aug 24, 2008 at 8:57 AM, Sven Fuchs <[EMAIL PROTECTED]>wrote: > Ok, done. > > > http://rspec.lighthouseapp.com/projects/5645-rspec/tickets/508-recent-changes-in-actionpack-break-controller-specs > > Thanks! > > > On 23.08.2008, at 16:28, David Chelimsky wrote: > > There are a number of changes to action pack recently that are >> incompatible with rspec. Please report these to lighthouse. >> >> Thanks, >> David >> >> On Sat, Aug 23, 2008 at 6:12 AM, Sven Fuchs <[EMAIL PROTECTED]> >> wrote: >> >>> Trying to port an existing app to current Rails edge I've seen similar >>> things yesterday. I've also updated RSpec/Rails to recent edge. >>> >>> Here are two workarounds I've come up with for two of the problems. I'm >>> not >>> sure if they cause other problems themselves, but maybe they're still >>> useful >>> as a hint. >>> >>> http://pastie.org/private/5ueehxiqhdgok0d8udksa >>> >>> I don't feel familiar enough with RSpec's guts to provide a patch. >>> >>> #render_partial on ActionView::Base seems to break because the method >>> signature has changed. >>> #render on ControllerExampleGroup seems to break because #render_file >>> apparently has been removed. >>> >>> >>> >>> On 23.08.2008, at 00:30, John Reilly wrote: >>> >>> Hello, >>>> >>>> I think I may have found a bug between rspec and edge rails... But I'm >>>> new to this so I'm hoping someone else can confirm before I go filing >>>> bug reports. >>>> >>>> Basically, I'm seeing what "appears" to be my controller specs >>>> deciding to load the views, even though I haven't called >>>> integrate_views. When I generate a default rspec_scaffold, the specs >>>> fail with an ActionView::TemplateError: >>>> >>>> % script/generate rspec_scaffold Bike name:string sku:string >>>>> ... >>>>> rake spec >>>>> ... >>>>> Mock 'Bike_1017' received unexpected message :name with (no args) >>>>> On line #11 of app/views/index.html.erb >>>>> >>>> >>>> If I modify the generated index spec like this, the spec passes: >>>> >>>> ...snip... >>>> >>>>> >>>>> it "should expose all bikes as @bikes" do >>>>> Bike.should_receive(:find).with(:all).and_return([mock_bike]) >>>>> >>>>> # adding these lines cause the spec to pass... >>>>> mock_bike.should_receive(:name) >>>>> mock_bike.should_receive(:sku) >>>>> >>>>> get :index >>>>> assigns[:bikes].should == [mock_bike] >>>>> end >>>>> >>>> >>>> ...snip... >>>> >>>> While this "fixes" the failures, it's no longer an isolated test of >>>> the controller. >>>> >>>> After spending some time with git-bisect, it looks like this problem >>>> was introduced in a commit to edge rails: >>>> >>>> >>>> http://github.com/rails/rails/commit/1129a24caff9f1804c2bff6569c0cbd8598dfa86 >>>> >>>> The default rspec_scaffold tests pass before this commit, and fail >>>> after this commit. >>>> >>>> More details here: >>>> http://johnreilly.tumblr.com/post/47016047/rspec-is-mocking-me >>>> >>>> Am I insane? Or does this happen for anyone else? :-) >>>> >>>> Thanks, >>>> -- John Reilly >>>> >>>> _______________________________________________ >>>> rspec-users mailing list >>>> rspec-users@rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/rspec-users >>>> >>> >>> -- >>> sven fuchs [EMAIL PROTECTED] >>> artweb design http://www.artweb-design.de >>> grünberger 65 + 49 (0) 30 - 47 98 69 96 (phone) >>> d-10245 berlin + 49 (0) 171 - 35 20 38 4 (mobile) >>> >>> >>> >>> >>> _______________________________________________ >>> 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 >> > > -- > sven fuchs [EMAIL PROTECTED] > artweb design http://www.artweb-design.de > grünberger 65 + 49 (0) 30 - 47 98 69 96 (phone) > d-10245 berlin + 49 (0) 171 - 35 20 38 4 (mobile) > > > > > _______________________________________________ > 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