覆盖Java System.currentTimeMillis以测试对时间敏感的代码

覆盖Java System.currentTimeMillis以测试对时间敏感的代码,第1张

覆盖Java System.currentTimeMillis以测试对时间敏感的代码

我强烈建议你不要硬着头皮,而是要硬着头皮,重构该旧代码以使用可替换的时钟。理想情况下,应该使用依赖项注入来完成,但是即使你使用了可替换的单例,你也将获得可测试性。

这几乎可以通过搜索自动实现,并替换为单例版本:

  • 替换
    Calendar.getInstance()为Clock.getInstance().getCalendarInstance()。
  • 替换
    new Date()为Clock.getInstance().newDate()
  • 替换
    System.currentTimeMillis()为Clock.getInstance().currentTimeMillis()

    (如需要)

迈出第一步后,你可以一次用DI替换单例。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5440019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存