ローカル オブジェクトを作成し、そのローカル オブジェクトのメソッドを呼び出す以下のようなクラス メソッドがあります。
public class MyClass {
public someReturn myMethod(){
MyOtherClass otherClassObject = new MyOtherClass();
boolean retBool = otherClassObject.otherClassMethod();
if(retBool){
// do something
}
}
}
public class MyClassTest {
@Test
public testMyMethod(){
MyClass myClassObj = new MyClass();
myClassObj.myMethod();
// please get me here..
}
}
をテストしているときは、モックを作成して、選択したものを返しmyMethod
たいと考えています。otherClassObject.otherClassMethod
otherClassMethod はメッセージ キューに対していくつかのクラスを実行しますが、単体テストではそれを望んでいません。そのため、otherClassObj.otherClassMethod() を実行したときに true を返したいと考えています。この場合、インスタンス化にファクトリを使用したに違いないことはわかっていMyOtherClass
ますが、それはレガシー コードであり、今はコードを変更したくありません。この場合、Mockito はこのモック機能を提供していませんが、PowerMockito ではMyOtherClass
可能です。ただし、上記のシナリオの例は見つかりませんでしたが、静的クラスのみが見つかりました。SUT のメソッド内でローカルオブジェクトをモックするにはどうすればよいですか?
また、Mockito を使用したローカル スコープ オブジェクトのメソッドのモッキングなど、他の OS に関する質問にも言及しましたが、役に立ちませんでした。
コード例は非常に役立ちます。