Spring DBUnit在自动装配之前插入数据集

时间:2014-09-03 12:58:09

标签: spring dbunit spring-test spring-test-dbunit

我有一些bean用@PostConstruct方法查询数据库。因此,我需要在自动装配发生之前准备好数据库。这可能吗?

这是我的测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring/app.xml",
        "classpath:spring/test-beans-context.xml" })
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class,
        TransactionalTestExecutionListener.class, DbUnitTestExecutionListener.class })
@DatabaseSetup(value = { "/datasets/dataset1.xml", "/datasets/dataset2.xml" })
public class myTestIT {

    @Autowired
    private ClassUnderTest classUnderTest;


    @Test
    public void test() {
         ...
    }

}

这是查询@PostConstruct内的数据库的bean:

public class MyBean {
    @Autowire
    private SomeService someService;

    private List someList;

    @PostConstruct
    public void init()  {
         someList = someService.queryDB();
    }
}

这是我要测试的课程的一个例子

public class ClassUnderTest {
    @Autowire
    private MyBean bean;


    public void methodToTest() {
        bean.getSomeList();
        // do Something
    }
}

0 个答案:

没有答案