gpt4 book ai didi

java - 用于获取当前 UTC 日期时间的单元测试

转载 作者:行者123 更新时间:2023-12-01 12:37:56 25 4
gpt4 key购买 nike

我有一个这样的方法:

public Date getCurrentUtcDateTime() {
// Return UTC time
}

我想使用 JUnit 创建一个单元测试。

assertEquals( ?????? 

什么是正确的方法?

  1. 如果我编写单元测试代码来计算 UTC 当前时间,这并不好,因为我基本上会重写整个函数。除此之外,两个日期时间的毫秒数不会相同。

  2. 如果我只是检查结果是否不为空,那就不好了 - 结果可能仍然是错误的。

我还应该尝试什么?为此函数编写单元测试的正确方法是什么?

最佳答案

If I write unit test code to calculate the UTC current time, it's not good because I would essentially be rewriting the entire function

有时这是测试某些东西的唯一方法。也许您可以使用另一种方法来获得相同的时间? IE。使用 Joda-time 而不是标准 Java 类,反之亦然。

一种测试方法可能是(伪代码):

startTime = getUTCTimeUsingAlternativeMethod();
resultTime = classUnderTest.getCurrentUtcDateTime();
endTime = getUTCTimeUsingAlternativeMethod();

validateThat(startTime <= resultTime);
validateThat(resultTime <= endTime);

但如Jon points out in the comments ,这么简单的方法可能不需要测试。您最好花时间更详细地测试其他方法。

关于java - 用于获取当前 UTC 日期时间的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25402232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com