実際の問題を単純化するために、単純なテストクラスを作成しました。
パブリッククラス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)2番目の質問は、「ismael et jordan」を返すように変更するにはどうすればよいですか?