我喜欢上课
public class Myclass{
public boolean processePersonData(){
private Person p;
boolean flag=true;
if(flag){
p= new Person("john",1);
}
else{
p= new Person("adam",2);
}
//do sth with p
}
}
我如何模拟变量p,我google了很多但没有得到答案。这可以用mockito完成。我不想要代码中的任何更改。
答案 0 :(得分:7)
你没有。
在单元测试中验证公共可观察行为时,意味着:根据输入返回的结果以及设备如何与其依赖关系进行通信。
变量“p”是您未验证的实现细节。这是因为在不改变单位行为的情况下可能会改变,并且您不希望在这种情况下更改测试。