PowerMockito.spy(CmdbUtil.class);
PowerMockito.doReturn(onePageData).when(CmdbUtil.class, "requestCMDB", Mockito.any(CmdbQueryParamModel.class), Mockito.eq(false));
List<JSONObject> resultRelations = CmdbUtil.queryServiceLinks(appId);
Assert.assertEquals(4, resultRelations.size());

putIfAbsent 和 computeIfAbsent 区别是什么

map.computeIfAbsent
Map<String, Map<String, String>> nodesMap = new HashMap<>();
nodesMap.computeIfAbsent(sourceResId, k -> putNodeToMap(relation, sourceResId, SOURCE_RES_NAME));
如果sourceResId这个键在外层Map中不存在时,会调用putNodeToMap方法并传入一些参数,然后返回一个新的Map<String, String>

String nodeStr
= "{"business_nodes":[{"default":true,"id":2,"gmt_create":null,"gmt_modify":null,"name":"apm","inner_domain_id": 1,"display_name":"apm","is_default":true,"eps_id":"**********"}]}";
JsonNode appListNode = JsonUtil.getMapper().convertValue(nodeStr, JsonNode.class);
这样做无法解析其中的business_nodes,

JsonNode appListNode = appListApmNode.get("business_nodes");返回null

要用readTree 别犯错了!!!

posted on 2024-06-17 09:18  大元王保保  阅读(28)  评论(0)    收藏  举报