2

メソッドでデータベースを照会する 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() {
         ...
    }

}

これは、内部の DB をクエリする Bean です@PostConstruct

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
    }
}
4

0 に答える 0