2016-05-23 5 views
0

私はSpring(注釈、xmlではない)を使用するアプリケーションを持っており、私は単体テストでBeanをロードする必要があります。私は使用したいコードからAppConfigクラスを持っていますが、別のデータソース(テストフォルダに定義するクラス)を使用しています。これは、実際のDBではなく、私のテストでメモリDBを使いたいからです。ここでUnitTestsとSpring - 新しいBeanを作成しますか?

は私がのAppConfigクラスを実行しようとする方法は次のとおりです。

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(classes = {App.class, AppConfig.class}) 
public class DAOManagerTest { 
    //All code goes here 

    @AutoWired 
    UserDAO userDAO; 

    @Test 
    public void testGet() { 
    List<User> test = userDAO.selectAll(); 
    for (User u: test) { 
     u.toString(); 
    } 
    } 
} 

それはUserDAOクラス内Beanを作成することに失敗したように、これは完全に、動作しません。私は単体テストで春を扱う方法についてのチュートリアル/ガイドが必要だと思います。テストフォルダに新しいBeanを定義するか、コードからSpringクラスを使用することはできますか?また、テストのための別個のデータソースを定義することは可能ですか?

+0

があります。 – OrangeDog

+0

私はSpringのドキュメントを読んでいます。テスト時のスプリングブートとスプリングテスト用のドキュメントの両方。私はそれをする方法を理解できないように思える。 – user16655

答えて

1

はい。たとえば、DAOManagerTestにいくつかのBeanを定義する場合は、必要に応じて@Primaryを使用し、DAOManagerTest.class@ContextConfigurationに追加します。

プロファイルやモックを使用して同じように、しかし、それを配置するので、他の多くの方法などは、はい、それはすべての可能性だ、とはいあなたは春のドキュメントを読んで行く必要が

関連する問題