私はクラス内でオブジェクトを偽装したjunitテストをしています。 mocker
というMyManagerの@MockでクラスMocker
を呼び出しましょう。Mockito doReturnメソッドでメソッドに渡される特定の列挙型を指定します。
例クラス:
public class Mocker {
private MyManager myManager;
public void myMethod() {
String x = "test";
final String result1 = this.myManager.execute(dummyEnum.ENUM_A, x);
final String result2 = this.myManager.execute(dummyEnum.ENUM_B, x);
if(result1 == true) {
//Do something
}
if(result2 == true) {
//Do something else
}
}
public enum dummyEnum {
ENUM_A,ENUM_B
}
}
私の現在のJUnitテストは、以下を使用します。doReturn(null).when(mocker).execute(any(dummyEnum.class), anyObject());
しかし、これは両方の結果1 &結果2のためにnullを返します。 どのように私はENUM_Bで)ENUM_Aで実行されたときに()を実行し、それは(Hello
の文字列を返し、実行するように指定することができますが、Goodbye
の文字列を返す私はanswer hereを見てきましたが、私はただ言いたくありませんそのクラスの任意のインスタンス、そのクラスから特定の列挙型を指定したいと思います。