相关疑难解决方法(0)

测试正确的时区处理

我们正在处理大量数据,所有数据都以UTC(Java)标记.在读取这些数据,将其存储在数据库中并再次将其取出之前,有些数据在夏令时期间关闭了一小时.由于UTC没有夏令时的概念,这显然是软件中的一个错误.一旦知道,它很容易修复.

但是,无论当前时差如何,都可以使用一些单元/集成测试 - 例如我想更改本地时区并在这些不同时区内反复运行某些方法以确保UTC处理正确.

由于测试应该自动运行 - 最好是 - 在一个Testsuite中,我想知道如何最好地测试正确的行为.在重新启动JVM时更改本地设置(如时区)很容易,但在测试套件中运行它并不容易.

有没有人知道支持这种情况的测试环境,库或模式?我们通常使用JUnit,但如果有助于摆脱这样的问题,我们可以添加其他环境/技术.我想这是一个集成而不是单元测试.

编辑:已经有两个非常有用的答案,但我想必须有更多的技术.有没有人有关于调用TimeZone.getDefault的时间/频率的权威信息(请参阅Jon Skeets答案的评论)?

注意:即使这个问题有一个公认的答案,我也不完全确定,接受哪个答案.即使有了这种接受,我也希望看到更多的想法和技巧.

感谢您的输入!

java timezone utc

7
推荐指数
2
解决办法
4900
查看次数

标签 统计

java ×1

timezone ×1

utc ×1