2016-12-09 5 views
1

私は春からモックオブジェクトを作成する必要がある簡単な使用例があります。 (私には、@Mockのようなより良い選択肢があることを知っています)。Mockito - Spring Beanとしてモックを作成する

私はClassToMockを言うモックする必要があるクラスは、このようなものです:私は取得しています

<bean id="xyz" class="org.mockito.Mockito" factory-method="mock"> 
    <constructor-arg value="some val"/> 
    <constructor-arg value="some other val"/> 
    <constructor-arg type="int" value="2"/> 
</bean> 

一致を私は持っている私の春の豆で

public classToMock { 
    public ClassToMock (String a, String b, int c) 
    ... 
    } 
    //other methods omitted 
} 

ファクトリメソッドfounnd:ファクトリメソッド 'mock(String、String、int)'

何か提案がありますか?

答えて

1

私はいくつかの懸念を混ぜると思います。

factory-method属性は、作成するインスタンスを返す静的メソッドを参照します。

さらに、org.mockito.Mockitoインスタンスをインスタンス化するか、ClassToMockインスタンスをインスタンス化するか、 1つのコンストラクタ(ClassToMockクラス)を使用してコンストラクタまたはそれ以外のもの(Mockitoクラス)を使用することはできません。

さらに、Mockitoは単独ではコンストラクタをモックできません。なぜコンストラクタをモックする必要がありますか?あなたは、テストのためのいくつかの定義済みの値を使用して、クラスのインスタンスを作成したい場合は

、あなたはあなたのxml春confの中でそれを宣言することができます。

<bean id="xyz" class="ClassToMock" > 
    <constructor-arg index="0" value="some val"/> 
    <constructor-arg index="1" value="some other val"/> 
    <constructor-arg index="2" value="2"/> 
</bean> 
+1

あなたが正しいです。私はコンストラクタargとして偽装する必要がある完全修飾クラス名を渡さなければなりません。 – AgentX

関連する問題