David, Yes, your reading of the request is what I originally meant.
I appreciate the points made by others in this thread and the thread David has referred to. As I continue to learn RSpec I will undoubtedly avail myself of the approaches recommended above or in the linked thread, but I think an argument to stub() per the following could be useful: f.stub(:barr, :throw_no_such_method_error=>true) #=> Error: "The Foo class does not have a 'barr' method. Perhaps you meant to stub 'bar'" Thanks, Lille On Jul 24, 7:15 am, David Chelimsky <dchelim...@gmail.com> wrote: > On Jul 24, 2010, at 4:35 AM, Wincent Colaiuta wrote: > > > > > > > El 24/07/2010, a las 08:26, David Chelimsky escribió: > > >> On Fri, Jul 23, 2010 at 6:46 PM, Lille <lille.pengu...@gmail.com> wrote: > >>> Hi, > > >>> I've been browsing the RSpec book and the RDoc, but I can't see how to > >>> ensure the following: > > >>> Stub an instance with a method it doesn't have and raise NoMethodError > >>> (or something like it.) > > >> RSpec doesn't support anything like that. I'm not sure if any of the > >> Ruby frameworks do, though I've been involved with conversations about > >> this sort of thing before. > > > I'm not sure if I understand the request, but with RR you can do this: > > >>> require 'rr' > > => true > >>> extend RR::Adapters::RRMethods > > => main > >>> foo = Object.new > > => #<Object:0x101664bd8> > >>> stub(foo).bar { raise NoMethodError } > > => #<RR::DoubleDefinitions::DoubleDefinition:0x10165ce60> > >>> foo.bar > > NoMethodError: NoMethodError > > > Although like I said, not sure if I understood Lille's request. > > I read the request as this: > > class Foo > def bar; end > end > > f = Foo.new > f.stub(:barr) > #=> Error: "The Foo class does not have a 'barr' method. Perhaps you meant to > stub 'bar'" > > For me this would have very limited utility because 1/2 the time I'm > deliberately stubbing methods that don't even exist yet on doubles doubling > for objects that don't even exist yet, which is why I wouldn't want it to be > something that happens implicitly by default. > > Here's another thread on the same matter from a little over a year ago: > > http://groups.google.com/group/rspec/browse_thread/thread/cf0b3eae192... > > Cheers, > David > > > > > Cheers, > > Wincent > > _______________________________________________ > rspec-users mailing list > rspec-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users