当前位置: 首页 > 开发杂谈 >

Day28 测试写起乃 - Timecop

Timecop 可以帮助你在测试时将时间冻住,因为有些讯息中会带有时间,如果要确保时间一致就必须要将时间冻住才可以测试。

安装 Timecop

官方文件

gem 'timecop' & bundle install

Timecop 使用的三种方式

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

Timecop in Rspec

before(:all) do
  Timecop.freeze(Time.current)
end

after(:all) do
  Timecop.return
end

在测试前将时间冻住,并在最後 return,通常必须成对为最佳

参考来源:
用 Timecop 自由穿梭时间轴


相关文章:

  • 亚马逊卖家收到产品合规性审核怎么办?
  • 【Day 7】Google Apps Script - 使用 Google Docs 撰写 Demo 用的 API 文件
  • 学会这些shopee运营规则,让运营更加如鱼得水
  • 【从零开始的Swift开发心路历程-Day10】简单介绍UITableView
  • 大促过后店铺又该怎么调整?
  • 【Day02】永丰金融APIs-消费支付API
  • lazada不活跃卖家政策简介
  • Ozon Live 营销详解
  • 跨境电商如何把控成本
  • 从细针切片资料集 建模、预测肿瘤Sklearn Breast Tumor Prediction
  • 简报版-第二章-从ATM提款与刷卡看资安
  • 【D28】熟练一下厨具-bid and ask #3:制作台指选择权价差单
  • Day23:今天来谈一下Azure Sentinel 中的查询记录
  • lazada卖家假期模式常见问题
  • lazada营销工具设置-多件多折
  • 糖果主机香港VPS优惠码最新七折促销
  • Gutenberg 10.5 支持嵌入PDF,新增块模式,增强自定义器的小工具功能
  • WordPress禁用古腾堡编辑器全屏模式
  • 日本虚拟信用卡预付卡礼品卡大全
  • 海外营销周报:谷歌产品评论算法更新,YouTube和Facebook仍是美社交媒体主流
  • Gutenberg 10.6 添加Duotone过滤器、查询模式轮播和最常用标签选择器
  • 苹果手机Apple美国区账号无信用卡购买教程【Apple ID美国区绑定PayPal教程】
  • SiteGround域名转移教程:如何转出SiteGround域名
  • PayPal国外买东西教程:银联卡(国内储蓄卡信用卡)怎么用PayPal买国外的东西更安全
  • WooCommerce 带动顾客购物的十种方法
  • 国外代发货教程:教你如何一件代发做跨境电商国外市场
  • 亚马逊选品工具哪个好用:亚马逊卖家选品数据分析工具推荐
  • Pinterest的商业指南(信息图):为什么以及如何在在Pinterest上推广你的业务
  • 升级wordpress出错怎么办?wordpress升级502错误解决方法
  • 怎么获得菲律宾手机卡和接受短信验证码