假设我有一个A类,它有两种方法。我必须测试一个方法,它在内部调用另一个方法。
class A {
private void method1() {
//some steps to be done
}
public void method3() {
//some steps
}
public void method2() {
method1();
if (XUtil.isSupportRequired) {
method3();
}
}
}
所以,如果我尝试测试method2,如何模拟method1,因为它不公开。 任何帮助,将不胜感激。 我正在使用junit和mockito。
答案 0 :(得分:3)
我认为你应该尝试编写黑盒测试,也就是说,它应该不关心类内部只通过其公共接口可见的内容。
因此,通过应该反映这些效果的其他方法,或者通过过程中使用的模拟依赖项来测试方法2的效果。
你不应该嘲笑其他私人方法。