gpt4 book ai didi

java - 封装良好的类的TestNG测试类

转载 作者:行者123 更新时间:2023-11-29 04:53:40 27 4
gpt4 key购买 nike

我正在对具有以下结构的类进行单元测试。

public class Experiment {

private final Map<String,String> map = new HashMap<>();

Experiment(Set<String> set){
for(String str :set ){
map.put(str,str);
}
}

public String getVal(String str){
return map.get(str);
}

}

正如所见,我的类只有一个实例变量,即 HashMap。现在我想确保通过采用 HashSet 的构造函数正确填充了我的 map 。由于我可以独立创建预期的 Map 结构。但是我现在被困住了,因为我的“ map ”在我的类(class)中是“私有(private)的”。我不想通过公开我的状态变量来向外界公开它。请建议一种对我的 map 变量进行单元测试的方法。

最佳答案

您可以通过 Reflection 访问您的 map 变量,但直接测试您的私有(private)实现细节不是是一个好习惯。更好的方法是测试依赖于私有(private)内容的公共(public) API。在您的案例中,测试 getVal 方法是否返回您添加到 map 的相同值。 Read more on .

关于java - 封装良好的类的TestNG测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510342/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com