2
比方說,我需要存根方法,因此返回當前時間: MyClass.stub(:my_method).and_return(Time.now.utc)在運行時而不是在存根聲明處執行rspec存根?
的問題是,這個存根在存根聲明返回時間,而不是當我運行MyClass.new.my_method。
當方法被調用時,有沒有辦法讓存根運行?
比方說,我需要存根方法,因此返回當前時間: MyClass.stub(:my_method).and_return(Time.now.utc)在運行時而不是在存根聲明處執行rspec存根?
的問題是,這個存根在存根聲明返回時間,而不是當我運行MyClass.new.my_method。
當方法被調用時,有沒有辦法讓存根運行?
傳遞一個塊and_return
,你想要在運行時完成,像這樣的工作...
describe MyClass do
it "runs at runtime" do
puts Time.now.utc
MyClass.stub(:my_method).and_return do
Time.now.utc
end
sleep 5.seconds
puts MyClass.my_method
end
end