2016-05-23 68 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

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