2012-06-28 6 views
6

を使用してクラスを注入しました。どのようにして模擬するB。私はJunit4とJmockitを使用しています。は私のコードJMockit

+1

あなたはあなたのテストでBを模擬する方法、または模擬BをAに注入する方法を尋ねていますか? –

答えて

0

Mocking Frameworkは通常、DI(Dependency Injection)に依存しているため、基本的にはメソッドシグネチャで擬似オブジェクトを転送する必要があることを意味しています。

しかし、hereを見て、それはあなたにそれを行う方法の指示を与えるかもしれません。

8

はこのような何かを試してみてください:

import org.junit.*; 
import mockit.*; 

public class ATest 
{ 
    @Tested A a; 
    @Injectable B b; 

    @Test 
    public void testMethod() 
    { 
     a.method(); 

     new Verifications() {{ b.callMethodInB(); }}; 
    } 
} 

JMockitは、自動的にテストクラスにaフィールドに設定する、(モックフィールドbから)を注入BインスタンスでAをインスタンス化します。これは、使用されるDIフレームワーク(Spring)とは独立しています。

+0

これは**私のために働かない、@Mocked B b; '働いた.. jmockit 1.30 –

関連する問題