2016-11-09 8 views
0

私は私のテストクラス以下親クラスで@injectedオブジェクトを模擬する方法

で@InjectMocksを使用している間、私は私のクラスの構造はその投げNPEを模擬する必要がある1つ@Injectオブジェクトを持っています

Class ChildClass extends ParentClass 
{ 

public myMethod(){ 

String myval=callParentClassMethod(); 

} 

Class ParentClass{ 

@Inject 
private MyService myservice; 
//there is no constructor or setter method for this injected object 

protected String callParentClassMethod(){ 
retrun myservice.getStringval(); 
} 

} 

このMyServiceオブジェクトをモックする方法をお勧めしますか?@Mockと@Injected Mockを使用しましたが、NPEを取得できませんでした。私はBaseクラスと親クラスの両方で注入しようとしましたが運はありませんでした。私にとって

答えて

0

次作品:

@RunWith(MockitoJUnitRunner.class) 
public class MyTest { 
    @InjectMocks 
    private ChildClass childClass = new ChildClass(); 

    @Mock 
    private MyService service; 

    @Test 
    public void test1() { 
     childClass.myMethod(); 
    } 
} 

UPDATE は、私は正確に@Inject注釈の種類は、あなたが指定されていませんでしたhttps://github.com/shurick-k/mock-test

にテストしてサンプルプロジェクトをアップロードしました使用されているので、私はそれがjavaee-apiからであると仮定しました。実際それは問題ではありません。

+0

返信いただきありがとうございます。私はまだ注射サービスを呼び出している間にNPEを取得しています。それ以外の方法はありますか –

関連する問題