首页 > 解决方案 > 模拟调用实用程序类的静态方法

问题描述

我需要为该方法编写一个单元测试processNotification。但是这个方法在内部调用JsonUtility.getNotificationDTOFromMessage.

我需要在null调用它时返回值。我们如何通过使用 Mockito 来实现这一点?

我无法更改代码,因为它不属于我。

@Override
public void processNotification(String message) throws IOException {
    logger.info(" Processing the notifications");
    NotificationDTO notification = 
    JsonUtility.getNotificationDTOFromMessage(message);
    if (null == notification) {

标签: javaunit-testingjunitmockito

解决方案


您不能使用 Mockito 模拟静态方法。如果您需要模拟静态方法,请尝试使用 PowerMockito

例如:PowerMockito.mockStatic(JsonUtility.class);


推荐阅读