[rspec-users] Stubbing Time.now in trunk

Jay Levitt lists-rspec at shopwatch.org
Fri Nov 10 18:17:42 EST 2006

David Chelimsky wrote:
> Try this:
> @time_now = Time.parse("Jan 1 2001")
> Time.stub!(:now).and_return(@time_now)

That works, but the effect I was trying to achieve was a changeable 
Time.now, as in:

@time_now = Time.parse("Jan 1 2001")
@time_now = Time.parse("Oct 1 2001")

> OR
> Time.stub!(:now).and_return lambda { @time_now }

This is what I was trying, and was seeing those weird next-line errors.

What does seem to work is

Time.stub!(:now).and_return { @time_now }

e.g. just passing a block to and_return, instead of a lambda.  So I 
guess it's just a different syntax than I was used to with Mocha, which 
(now that I look at it) special-cases a return-value that is_a?(Proc).


More information about the rspec-users mailing list