我需要为方法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) {
答案 0 :(得分:0)
您不能使用Mockito模拟静态方法,但是您可以在可能的情况下操纵输入数据,以便将其输入静态方法并返回所需的值。您可以在测试方法中传递message = null以便您可以测试您的方法。
答案 1 :(得分:0)
您无法使用Mockito模拟静态方法。如果需要模拟静态方法,请尝试使用PowerMockito
例如:PowerMockito.mockStatic(JsonUtility.class);