Мой метод оказывает следующую строку -Как бросить фиктивный объект с помощью PowerMockito
ObjectMapper objectMapper = new ObjectMapper(); //1
JsonNode root = objectMapper.readTree(details); //2
((ObjectNode) root).put("userId", userId); //3
Я пытаюсь написать заглушку для выше линии № 3 и он получает неудачу, говоря ClassCastException -
@Mock
JsonNode mockJsonNode;
@Mock
ObjectNode mockObjectNode;
ObjectMapper mockMapper = PowerMockito.mock(ObjectMapper.class);
PowerMockito.whenNew(ObjectMapper.class).withNoArguments().thenReturn(mockMapper);
PowerMockito.when(mockMapper.readTree(Matchers.anyString())).thenReturn(mockJsonNode);
PowerMockito.when(mockObjectNode.put(Mockito.anyString(), Mockito.anyString())).thenReturn(mockObjectNode);
Я понимаю, как его исключение, потому что нет никакого отношения между макетным объектом и фактическим объектом, но каков способ записи заглушки для строки # 3?
Это полное исключение -
java.lang.ClassCastException: com.fasterxml.jackson.databind.JsonNode$$EnhancerByMockitoWithCGLIB$$26691c0b cannot be cast to com.fasterxml.jackson.databind.node.ObjectNode
О, это работает ... вы спасли мое время. Благодарю. – Saurabh
Вы очень желанны! – GhostCat