我做了一个简单的测试类来简化我的实际问题:
公共类 BidonTest {
@Mocked
IBidon ibidon;
@Mocked
IBidon ibidon2;
@Mocked
Bidon bidon;
@Mocked
Bidon bidon2;
@Test
public void testBidon(){
new NonStrictExpectations(2, Bidon.class){
{
ibidon.doIt(); result = "i: coco";
ibidon2.doIt(); result = "i: ismael et jordan";
bidon.doIt(); result = "c: coco";
bidon2.doIt(); result = "c: ismael et jordan";
}
};
System.out.println(ibidon.doIt());
System.out.println(ibidon2.doIt());
System.out.println(bidon.doIt());
System.out.println(bidon2.doIt());
}
public interface IBidon{
public String doIt();
}
public class Bidon implements IBidon{
@Override
public String doIt(){
return "toto";
}
}
}
下面,测试结果:
i: coco
i: coco
c: coco
c: ismael et jordan
我的第一个问题是:为什么 ibidon2 返回“coco”?(即使我没有什么想法,但也许这里有人是 JMockit 专家:D)我的第二个问题是:我怎样才能改变它以使其返回“ismael et jordan”?