2017-06-14 10 views
0

私は私のDAOをテストするために私がMockitoテストに使用するコンテキストファイルにすべてのBeanを持っています。新しいClassPathXmlApplicationContext(パス)のMockitoテストカバレッジ

org.springframework.beans.factory.BeanCreationException:エラーが名 'testataSource' でBeanを作成:私は例外の下に取得していますテストを実行している間

private static ApplicationContext getCtx() { 
     synchronized (THREADMUTEX) { 
      if (ctx == null) { 
      try { 
      String[] paths = { "classpath*:application-Context.xml", 
            "classpath*:applicationContext-dao.xml" }; 
       ctx = new ClassPathXmlApplicationContext(paths); 
       System.out.println("context for laws --> " + ctx); 

      } catch (Exception e) { 
       } 
     } 
     } 
     return ctx; 
    } 

は、initメソッドの呼び出しは、

を失敗しました

模擬方法new ClassPathXmlApplicationContext(paths);

+0

'SpringJUnit4ClassRunner'のjUnitランナーと' @ContextConfiguration'アノテーションを使用してください。あなた自身のApplicationContextを初期化しないでください。 –

答えて

0

new ClassPathXmlApplicationContext(springFiles)をモックすると、Spring Contextがまったく使用されません。それらを必要としない場合は、スプリングコンテキストなしでテストを実行し、コードでインスタンス化してクラスをテストしてください。

しかし、春のコンテキストが必要な場合は、それらをモックしないでください。Bean宣言を修正して動作させる必要があります。

+0

あなたの入力に感謝します。私はより良い理解のためにコードスニペットを更新しました。あなたは一見を持ち、何をする必要があるかを私に示唆してください。 –

関連する問題