1
我的方法蒙上了模擬對象是有以下行 -如何使用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