> > controller.should_receive(:logger).and_return(logger) > > > > should start it off, but then how do I get the new logger to do puts > > without defining a new class? I'm assuming there must be a "Ruby way" > > to do it. > > I'd think that > controller.should_receive!(:logger).and_return(Logger.new(STDOUT)) > should do it. > > Not sure whether or not you really want to use stub! vs. > should_receive here, do you really want to require that logger be > called or just allow it?
Good question. I think there are cases where I might want either or both, depending on whether it's for debugging or for support purposes. > Also if you want to set expectations on what's actually logged you > might want to do > > @log_stream = StringIO.new > controller.stub!(:logger) and_return(Logger.new(@logstream)) > and then get at the log output via something like @log_stream.string Great -- that's exactly what I need. Thank you. Will. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users