Hello, I have a controller action that raises a RecordNotFound exception if you''re not allowed to see something. In my global application controller (application.rb), I catch these and render the 404 template. But when I run cucumber (using webrat), it''s getting the full stacktrace (the step blows up). Any ideas why? I have consider_all_requests_local turned off in my test.rb. Jeff
Which version of cucumber / webrat are you using? On 6 Feb 2009, at 17:12, Jeff Talbot wrote:> Hello, > > I have a controller action that raises a RecordNotFound exception if > you''re not allowed to see something. In my global application > controller (application.rb), I catch these and render the 404 > template. But when I run cucumber (using webrat), it''s getting the > full stacktrace (the step blows up). Any ideas why? I have > consider_all_requests_local turned off in my test.rb. > > Jeff > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-usersMatt Wynne http://blog.mattwynne.net http://www.songkick.com
aslak hellesoy
2009-Feb-09 11:11 UTC
[rspec-users] RecordNotFound bubbling thru to cucumber
On Fri, Feb 6, 2009 at 6:12 PM, Jeff Talbot <jeff.a.talbot at gmail.com> wrote:> Hello, > > I have a controller action that raises a RecordNotFound exception if > you''re not allowed to see something. In my global application > controller (application.rb), I catch these and render the 404 > template. But when I run cucumber (using webrat), it''s getting the > full stacktrace (the step blows up). Any ideas why? I haveIt''s because Cucumber''s Rails support configures ActionController to send all errors straight through. See cucumber/rails/world.rb Patches and suggestions about how to improve this are welcome. (In most cases it''s easier to spot errors when exceptions ripple through) Aslak> consider_all_requests_local turned off in my test.rb. > > Jeff > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >-- Aslak (::)
On Mon, Feb 9, 2009 at 6:11 AM, aslak hellesoy <aslak.hellesoy at gmail.com> wrote:> > It''s because Cucumber''s Rails support configures ActionController to > send all errors straight through. > See cucumber/rails/world.rb > > Patches and suggestions about how to improve this are welcome. > (In most cases it''s easier to spot errors when exceptions ripple through)Make it a configuration option? Or catch it with a proxy that inspects the exception then passes it *back* to Rails, and provide matchers or formatting options that display Cucumber''s analysis only when the user wants it? I''m with Jeff on this: RecordNotFound isn''t necessarily an "error," it''s just an exception. One that will frequently come up in normal user interaction. A well-behaved app will do appropriate things with that exception and Cucumber should be able to test for those appropriate things. A testing framework that disrupts the application behavior cannot test it. -- Have Fun, Steve Eley (sfeley at gmail.com) ESCAPE POD - The Science Fiction Podcast Magazine http://www.escapepod.org
aslak hellesoy
2009-Feb-09 15:21 UTC
[rspec-users] RecordNotFound bubbling thru to cucumber
On Mon, Feb 9, 2009 at 3:58 PM, Stephen Eley <sfeley at gmail.com> wrote:> On Mon, Feb 9, 2009 at 6:11 AM, aslak hellesoy <aslak.hellesoy at gmail.com> wrote: >> >> It''s because Cucumber''s Rails support configures ActionController to >> send all errors straight through. >> See cucumber/rails/world.rb >> >> Patches and suggestions about how to improve this are welcome. >> (In most cases it''s easier to spot errors when exceptions ripple through) > > Make it a configuration option? Or catch it with a proxy that > inspects the exception then passes it *back* to Rails, and provide > matchers or formatting options that display Cucumber''s analysis only > when the user wants it? > > I''m with Jeff on this: RecordNotFound isn''t necessarily an "error," > it''s just an exception. One that will frequently come up in normal > user interaction. A well-behaved app will do appropriate things with > that exception and Cucumber should be able to test for those > appropriate things. A testing framework that disrupts the application > behavior cannot test it. >Good points. Please create a Lighthouse ticket for this. I''m looking forward to concrete suggestions about how to make this configurable and patches I can pull in :-) Aslak> > > -- > Have Fun, > Steve Eley (sfeley at gmail.com) > ESCAPE POD - The Science Fiction Podcast Magazine > http://www.escapepod.org > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >-- Aslak (::)
On Mon, Feb 9, 2009 at 10:21 AM, aslak hellesoy <aslak.hellesoy at gmail.com> wrote:> On Mon, Feb 9, 2009 at 3:58 PM, Stephen Eley <sfeley at gmail.com> wrote: >> On Mon, Feb 9, 2009 at 6:11 AM, aslak hellesoy <aslak.hellesoy at gmail.com> wrote: >>> >>> It''s because Cucumber''s Rails support configures ActionController to >>> send all errors straight through. >>> See cucumber/rails/world.rb >>> >>> Patches and suggestions about how to improve this are welcome. >>> (In most cases it''s easier to spot errors when exceptions ripple through) >> >> Make it a configuration option? Or catch it with a proxy that >> inspects the exception then passes it *back* to Rails, and provide >> matchers or formatting options that display Cucumber''s analysis only >> when the user wants it? >> >> I''m with Jeff on this: RecordNotFound isn''t necessarily an "error," >> it''s just an exception. One that will frequently come up in normal >> user interaction. A well-behaved app will do appropriate things with >> that exception and Cucumber should be able to test for those >> appropriate things. A testing framework that disrupts the application >> behavior cannot test it. >> > > Good points. Please create a Lighthouse ticket for this. I''m looking > forward to concrete suggestions about how to make this configurable > and patches I can pull in :-)There is already a ticket: http://rspec.lighthouseapp.com/projects/16211/tickets/49-cucumber-and-rails-controller-error-handling =)> > Aslak > >> >> >> -- >> Have Fun, >> Steve Eley (sfeley at gmail.com) >> ESCAPE POD - The Science Fiction Podcast Magazine >> http://www.escapepod.org >> _______________________________________________ >> rspec-users mailing list >> rspec-users at rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users >> > > > > -- > Aslak (::) > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >-- Zach Dennis http://www.continuousthinking.com http://www.mutuallyhuman.com
aslak hellesoy wrote:> On Mon, Feb 9, 2009 at 3:58 PM, Stephen Eley <sfeley at gmail.com> wrote: > >> On Mon, Feb 9, 2009 at 6:11 AM, aslak hellesoy <aslak.hellesoy at gmail.com> wrote: >> >>> It''s because Cucumber''s Rails support configures ActionController to >>> send all errors straight through. >>> See cucumber/rails/world.rb >>> >>> Patches and suggestions about how to improve this are welcome. >>> (In most cases it''s easier to spot errors when exceptions ripple through) >>> >> Make it a configuration option? Or catch it with a proxy that >> inspects the exception then passes it *back* to Rails, and provide >> matchers or formatting options that display Cucumber''s analysis only >> when the user wants it? >> >> I''m with Jeff on this: RecordNotFound isn''t necessarily an "error," >> it''s just an exception. One that will frequently come up in normal >> user interaction. A well-behaved app will do appropriate things with >> that exception and Cucumber should be able to test for those >> appropriate things. A testing framework that disrupts the application >> behavior cannot test it. >> >> > > Good points. Please create a Lighthouse ticket for this. I''m looking > forward to concrete suggestions about how to make this configurable > and patches I can pull in :-) > > Aslak >Instead of creating a new ticket we should probably continue the discussion on this ticket: http://rspec.lighthouseapp.com/projects/16211/tickets/49 -Ben