Che*_*rry 4 java testing easymock mockito powermock
如何模拟修改私有变量的私有方法?
class SomeClass{
private int one;
private int second;
public SomeClass(){}
public int calculateSomething(){
complexInitialization();
return this.one + this.second;
}
private void complexInitialization(){
one = ...
second = ...
}
}
Run Code Online (Sandbox Code Playgroud)
你没有,因为你的测试将取决于它正在测试的类的实现细节,因此会很脆弱.您可以重构代码,使您当前正在测试的类依赖于另一个对象来进行此计算.然后你可以模拟被测试类的这种依赖性.或者您将实现细节留给类本身并充分测试它的可观察行为.
您可能遇到的问题是您并没有完全将命令和查询分离到您的类.calculateSomething看起来更像是一个查询,但complexInitialization更像是一个命令.
| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |