如何在 Spring Boot 中使用 mockito 模拟这两个 loc。
JsonNode jsonNode = objectMapper.readValue(httpResponseObject.getResponseBody(), JsonNode.class);
String token = jsonNode.get("token").asText();
我已经使用下面的模拟模拟了第一个 loc,但不知道如何模拟第二个 loc。
String jsonString = TestingUtil.getResponse();
JsonNode jsonNode = objectMapper.readTree(jsonString);
Mockito.when(objectMapper.readValue(Mockito.anyString(), Mockito.any(Class.class))).thenReturn(jsonNode);
但这里 jsonNode 正在返回空指针异常
这是 mocking 的详细说明objectMapper
。
https://www.baeldung.com/mockito-mock-jackson-read-value
实际上在单元测试方面,objectMapper 和任何要测试的类没有区别。只需添加要模拟的依赖项,为其指定规则(例如 when->then),断言它。
- 编辑 -
添加 JsonNode 作为模拟对象。
JsonNode mockNode = mock(JsonNode.class);
JsonNode innerMockNode = mock(JsonNode.class);
Mockito.when(objectMapper.readValue(Mockito.anyString(), Mockito.any(Class.class))).thenReturn(mockNode);
Mockito.when(mockNode.get("token")).thenReturn(innerMockNode);
Mockito.when(innerMockNode.asText()).thenReturn("myToken");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句