2016-05-23 27 views
0

我有一個應用程序,我使用Spring(註解,而不是xml),我需要在我的單元測試中加載這些bean。我有我想要使用的代碼中的AppConfig類,但具有不同的數據源(我在測試文件夾中定義了一個)。這是因爲我想在測試中使用內存數據庫,而不是真正的數據庫。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的類中的豆。我想我需要一些關於如何在單元測試中處理spring的教程/指南。我應該在我的測試文件夾中定義新的bean,還是可以從我的代碼中使用Spring類?另外,是否可以爲測試定義一個單獨的數據源?

+0

是的,它是所有可能的,是的,你需要去閱讀春天文檔。 – OrangeDog

+0

我已閱讀Spring文檔。無論是在測試中的春季開機,還是春季測試的文檔。我似乎無法理解如何去做。 – user16655

回答

1

是的。例如,如果您在DAOManagerTest中定義了一些豆類,必要時使用@Primary,並將DAOManagerTest.class添加到@ContextConfiguration

有安排,雖然它的其他許多方面,如使用配置文件或者嘲笑等