gpt4 book ai didi

ruby-on-rails - 在运行时而不是在 stub 声明中执行 rspec stub ?

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:30 25 4
gpt4 key购买 nike

假设我需要 stub 一个方法以便它返回当前时间:MyClass.stub(:my_method).and_return(Time.now.utc)

问题是,这个 stub 在 stub 声明时返回时间,而不是在我运行 MyClass.new.my_method 时返回。

有没有办法在调用方法时使 stub 运行?

最佳答案

将一个 block 传递给 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

关于ruby-on-rails - 在运行时而不是在 stub 声明中执行 rspec stub ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9831810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com