[rspec-users] How do I get logging with rspec?
will.sargent at gmail.com
Wed Jan 30 18:02:03 EST 2008
> > 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
> 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.
More information about the rspec-users