Thanks for the reply, Scott.

What you describe is what is currently being done.

now = Time.now
Time.stub!(:now).and_return(foo_time)
do_stuff
Time.stub!(:now).and_return(now)

However, this is not returning the actual time it is only returning the time
set on the first line. I need Time.now to return to its original behavior
(i.e., returning the current, actual time).


-Adam

On Mon, Jul 13, 2009 at 9:58 AM, Scott Taylor <sc...@railsnewbie.com> wrote:

>
> On Jul 13, 2009, at 12:09 PM, Adam Anderson wrote:
>
>  I can't seem to find a good way to do this. If I stub out Time.now in one
>> of my specs but need to return it to its original functionality then can I
>> remove the stub?
>>
>> So I'd like to say something like:
>> Time.stub!(:now).and_return(foo_time)
>> Time.now # => foo_time
>> Time.unstub!(:now)
>> Time.now # => whatever time it actually is
>>
>
>
> Capture it before you stub it:
>
> real_now= Time.now
>
> Time.stub!(:now).and_return a_later_time
>
> Time.stub!(:now).and_return real_now
>
>
>> Is this possible? I noticed $rspec_mocks.reset_all, but obviously I don't
>> want everything to go away, just this one stub.
>>
>>
>> -Adam
>> _______________________________________________
>> rspec-users mailing list
>> rspec-users@rubyforge.org
>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to