Timecop 可以帮助你在测试时将时间冻住,因为有些讯息中会带有时间,如果要确保时间一致就必须要将时间冻住才可以测试。
gem 'timecop'
& bundle install
freeze
=> 时间都会停留在指定的时间,或是直到你返回原来的时间。
[16] pry(main)> Timecop.freeze(Time.parse('2020/09/30 08:30:30')) # 2020-09-30 08:30:30 +0800
[17] pry(main)> Time.now # 2020-09-30 08:30:30 +0800
[18] pry(main)> Timecop.return
[19] pry(main)> Time.now # 2021-09-29 22:23:25 +0800
travel
=> 时间会移动到你指定的时间,并且继续
[16] pry(main)> Timecop.travel(Time.parse('2021/11/30 08:30:30')) # 2021-11-30 08:30:30 +0800
# wait 3 second
[17] pry(main)> Time.now # 2021-11-30 08:30:33 +0800
[18] pry(main)> Timecop.return
[19] pry(main)> Time.now # 2021-09-29 22:23:25 +0800
scale
=> 将时间单位调整
[37] pry(main)> Timecop.scale(10) # 1 秒等於 10 秒
2020-09-29 23:15:58 +0800
[46] pry(main)> sleep 1
[47] pry(main)> Time.now
2020-09-29 23:16:08 +0800
before(:all) do
Timecop.freeze(Time.current)
end
after(:all) do
Timecop.return
end
在测试前将时间冻住,并在最後 return,通常必须成对为最佳
参考来源:
用 Timecop 自由穿梭时间轴
承认我们都有一些资讯焦虑 我们生活在快速变动的时代,无时无刻都有新的产业跟名词冒出,数据驱动决策、区...
#取得Query String #取得URL的Query String https://127.0....
路由政策 routing policies 这些 routing policies 定义了 Rout...
参考资料: Alex老师教学 JS30-Day14-JS Reference VS Copy 传值和...
前言 平常我们使用的渐层方式通常都是在drawable用Xml配置参考 或者是在程序中设置Paint...