如何使用 Mockito 和 Junit 模拟 ZonedDateTime

作为

我需要模拟一个ZonedDateTime.ofInstant()方法。我知道 SO 中有很多建议,但是对于我的具体问题,直到现在我还没有找到任何简单的出路。

这是我的代码:

public ZonedDateTime myMethodToTest(){

    MyClass myClass;
    myClass = fetchSomethingFromDB();
    try{
        final ZoneId systemDefault = ZoneId.systemDefault();
        return ZonedDateTime.ofInstant(myClass.getEndDt().toInstant(), systemDefault);
    } catch(DateTimeException dte) {
        return null;
    }
    
}

这是我不完整的测试方法:

 @Mock
 MyClass mockMyClass;

 @Test(expected = DateTimeException.class)
 public void testmyMethodToTest_Exception() {
    String error = "Error while parsing the effective end date";
    doThrow(new DateTimeException(error)).when(--need to mock here---);
    ZonedDateTime dateTime = mockMyClass.myMethodTotest();
}

我想ZonedDateTime.ofInstant()在解析负面场景时模拟抛出 DateTimeException方法。我怎么能做到这一点。

爱德华多·亚涅斯·帕雷达

您不能Mockito为此使用它,因为它ZonedDateTime是一个最终类并且ofInstant是一个静态方法,但您可以使用该PowerMock库来增强Mockito功能:

final String error = "Error while parsing the effective end date";
// Enable static mocking for all methods of a class
mockStatic(ZonedDateTime.class);
PowerMockito.doThrow(new DateTimeException(error).when(ZonedDateTime.ofInstant(Mockito.anyObject(), Mockito.anyObject()));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Mockito和jUnit模拟持久化和实体

如何使用 Mockito 进行模拟并使用 Junit5 断言抛出的异常和消息?

如何使用Mockito和Junit模拟静态方法中存在的void方法调用?

在JUnit中使用Mockito模拟ReentrantReadWriteLock

使用Mockito,EasyMock等进行JUnit模拟

使用 mockito 和 Junit5 使用参数模拟静态 void 方法

使用Spring,JUnit和Mockito在自动装配的组件中模拟方法

尝试使用junit5和mockito模拟byte []值时为空值

如何使用Mockito Junit模拟方法的本地实例

如何使用junit和mockito测试springjdbcTemplate

Mockito 如何模拟和断言抛出的异常

使用 Mockito 和 Android 模拟 Drawable

使用PowerMock和Mockito模拟静态方法

无法使用Mockito和Spring模拟方法

如何使用PowerMock和Mockito模拟枚举类的实例?

如何使用Mockito模拟和验证方法中的回调

如何验证使用Spring,JUnit和Mockito发布了事件?

如何使用Junit和Mockito测试Spring验证器

使用Mockito和Junit时如何自动装配Spring bean?

如何使用JUnit和Mockito测试自定义JsonSerializer

如何使用Junit和Mockito测试DaoImpl方法

如何使用Junit和Mockito测试Sum Double值?

如何使用JUnit和Mockito测试我的JwtAuthentication类?

如何使用JUnit和/或Mockito测试void方法

如何使用 mockito 和 junit 测试此功能?

使用 Junit 和 Mockito 的 Rest API 的 Junit 测试用例

如何模拟要使用JUnit + Mockito进行单元测试的服务中使用的类

Mockito,JUnit和Spring

JUnit 5 和 Mockito