次のシナリオがあります。
内容が次のようMyClassな API を持つクラス:myAPI()
class MyClass {
public void myAPI() {
...
MyOtherClass myOtherObj = new MyOtherClass();
String value = myOtherObj.decodeAndGetName();
...
}
}
ここには、何らかの操作をMyOtherClass行う API が含まれています。decodeAndGetName()別のパッケージにあり、そのコードを変更できません。
要件
上記のjunitテストを書く必要がありますmyAPI()。今、私はどういうわけか のオブジェクトをMyOtherClassモックし、 の戻り値をモックしたいと思っていますdecodeAndGetName()。
new MyOtherClass()フローがこの行に到達するとすぐに、新しいインスタンスが作成され、decodeAndGetName()APIに移動するため、これを行うことができません。私が必要とdecodeAndGetName()しているのは、上記のコードでこの呼び出しが発生したときに、フローが進行するのを防ぎ、代わりにモック値を取る方法です。
これを行う方法を教えてください。