如何模拟修改私有变量的私有方法?
class SomeClass{
private int one;
private int second;
public SomeClass(){}
public int calculateSomething(){
complexInitialization();
return this.one + this.second;
}
private void complexInitialization(){
one = ...
second = ...
}
}
你不,因为您的测试将取决于正在测试的类的实现细节,因此会很脆弱。您可以重构代码,使当前正在测试的类依赖于另一个对象来执行此计算。然后你可以模拟被测类的这种依赖关系。或者,您将实现细节留给类本身,并充分测试它的可观察行为。
您可能遇到的问题是您没有将命令和查询完全分离到您的类中。calculateSomething
看起来更像是一个查询,但是complexInitialization
更多的是一个命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)