首页 > 解决方案 > 用于私人参考和地图的 Junit 测试用例

问题描述

我正在尝试学习junit测试和mockito。如果有地图和私有方法引用,我想知道如何编写测试用例。

@Autowired
AppProps props;

public Foo checkStatus(){
     Foo foo = new Foo();
     foo.setStatus("Up");
     
     Map<String,List<String>> childStatusList = getChildStatus();
     foo.setChildStatus(childStatusList);

     return foo;
}

private Map<String,List<String>> getChildStatus(){
    Map<String,List<String>> healthMap = new LinkedHashMap<>(); 

    String url = "https://google.com";
    for(Entry<Integer,List<String>> entrySet: props.getMap().entrySet()){ 
        for(String str : entrySet.getValue()){
             healthMap.put("Up", Arrays.asList(url));
        }
    }
}

标签: javajunitmockitojunit5

解决方案


关于单元测试,您必须了解的第一件也是最重要的事情是:

单元测试测试代码。
单元测试验证公共可观察行为,即返回值与依赖项的通信

任何使用JailbreakPowerMock的尝试都只是对错误设计决策的投降。


推荐阅读