我有一个方法调用localtime我写了一个单元测试.我localtime在测试中接听电话,以便知道预期的答案.到现在为止还挺好.我碰巧在不同时区的机器上运行单元测试,并且可以预见,测试失败了,因为它们有几个小时的关闭时间.我想我可以动态地确定正确的预期值,但这似乎违背了在提出问题之前知道答案的想法.
有关如何处理此问题的任何想法?覆盖localtime?这看起来很极端.
谢谢!
我不认为在单元测试中计算答案的值有任何问题.单元测试应该足够简单,以避免与复杂性相关的错误,但简单的时区计算可能不会跨越线.
但是,在这种特殊情况下,您可以将时区设置为固定值(或几个)作为测试的一部分.请参阅此Stack Overflow帖子,了解有关在Perl中设置时区的信息.