私はMyClass
というクラスを持っています。私はそのクラスのメソッドを持っています、public int getSpacing()
。Mockitoを使って、インスタンスメソッドの戻り値をそのクラスのインスタンスを持たずにどうやって模擬することができますか?
私は別のクラスのメソッドをテストしています。 public static ArrayList<SpecialObject> getSpecialObjects()
。
getSpecialObjects()
MyClass
のインスタンスでgetSpacing()
を呼び出します。私はMockitoでテストを実行しているときにこのメソッドが常に0を返すようにしたい。これどうやってするの?私が見つけたすべての例では、メソッドをモックする前にオブジェクトの特定のインスタンスが必要です。
これは私が行う方法です。
MyClass myInstance = new MyClass();
Mockito.when(myInstance.getSpacing()).thenReturn(0);
はしかし、私はインスタンスがgetSpecialObjects()
で動的に作成されるため、MyClass
のすべてのインスタンスのgetSpacing()
の動作をオーバーライドします。これどうやってするの?
これは私が言いたいことですが、どのようにわからないのですか。
Mockito.when((Any instance of MyClass).getSpacing()).thenReturn(0);
'初期化する必要がmyInstance'。あなたのコードを表示できますか? –
@JaredBurrows例を修正しました。これは私のコードのダウンバージョンです。私の問題は、私はインスタンスにアクセスする必要がない、私はすべてのインスタンスの動作をオーバーライドしたいです。 –
私はそれが可能であるとは思わない、あなたが必要な場所で虚偽のインスタンスを注入する可能性がありますか? –