gpt4 book ai didi

java - 使用 Mockito 模拟日期对象

转载 作者:行者123 更新时间:2023-12-01 18:08:42 24 4
gpt4 key购买 nike

MyService的方法类(class)返回java.util.Date对象和MyManager类正在调用 MyService 的方法类(class)。我正在为 MyManager 编写测试用例类。
当我 mock 时

Mockito.when(manager.getDate())).thenReturn((Date)Mockito.any())

不工作。有人可以帮我解决这个问题吗?

最佳答案

我认为您没有正确使用语法。 any 习惯用法用于在调用方法时匹配参数,而不是用于指定模拟调用的返回值。请参阅Matchers了解它们如何工作的详细信息。

尝试提供真实日期作为返回值。

我从您的代码行中了解到您可能错误地使用了 Mockito。如果您使用模拟的 Service 测试 Manager,那么您的代码可能如下所示:

Date testDate = new Date("01/01/1970");
Service mockedService = mock(Service.class);
when(service.getDate()).thenReturn(testDate);
testManager.setService(service);
assertEquals(testDate, testManager.getServicesDate());

换句话说,如果您正在测试 Manager 类,您通常不会模拟 Manager 对象(如您的代码所暗示的)。

关于java - 使用 Mockito 模拟日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34504334/

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