0

私は自分の会社の単体テストを書こうとしているので、sourceCodeでは何も変更することはできません。 私はJava8、Spring、Mockito、JUnit4を使用しています。サービスをユニットテストするためにentityManagerをモックアップする方法

問題:私は他のすべてのクラスが、そのdoesn'tの仕事を嘲笑のように、私は、これを模擬しようとした私のClassUnderTestに注入依存性の注入

@PersistenceContext(unitName = someName) 
private EntityManager em; 

経由でインスタンス化されますEntityManagerの、といくつかのサービスがあります。 。常に

@InjectMocks 
@Autowired 
private SomeService testedSomeService; 

There's:エンティティマネージャへのヒントと、最初のテストを実行する前に、「IllegalStateExceptionがアプリケーション・コンテキストをロードに失敗しました」。 コメントに注釈を付けると、すべてのメソッドが正常にテストされます(ただし、メソッドを除いて、entityManagerを使用します)。

entityManagerをモックする簡単な方法はありますか?または私はどのように私のテストクラスに依存関係を注入することができますか?

私は助けていただければ幸いです!

答えて

0

Trythis:

@RunWith(MockitoJUnitRunner.class)

パブリッククラスTest {

@Mock

プライベートのEntityManager EM。

@Before ます。public voidセットアップ(){

MockitoAnnotations.initMocks(this); 
    Mockito.reset(em); 
} 

//あなたのjunits

}

関連する問題