2014-01-28 12 views
0

我已經創建了一個Java組件,它將被其他人使用。 我想進行單元測試來檢查許多彈簧配置。如何有效的許多春天背景

我做什麼今天:通過配置文件一類測試

  • 配置01:Config01Test.java
  • 配置02:Config02Test.java
  • 配置03:Config03Test.java

    @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {「/spring/config01.xml」}) @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD ) 公共類Config01Test {

    @RunWith(SpringJUnit4ClassRunner.class)來 @ContextConfiguration(位置= { 「/spring/config02.xml」}) @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) 公共類Config02Test {

    @RunWith(SpringJUnit4ClassRunner.class)來 @ContextConfiguration(位置= { 「/spring/config03.xml」}) @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) 公共類Config03Test {

但是我想知道我們是否可以在一個java類中完成它。 作爲例如加載每個測試diffent Spring上下文: (有一個Junit的註釋......像@LoadSpringContext(blablabla)

@RunWith(SpringJUnit4ClassRunner.class) 
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) 
public class ConfigTest{ 

    @LoadSpringContext(locations = {"/spring/config01.xml") 
    public testConfig01(){ 
     // implement test 
    } 

    @LoadSpringContext(locations = {"/spring/config02.xml") 
    public testConfig02(){ 
     // implement test 
    } 

    @LoadSpringContext(locations = {"/spring/config03.xml") 
    public testConfig03(){ 
     // implement test 
    } 
} 

感謝,

回答

0

可以刪除Spring註解:@RunWith@DirtiesContext@LoadSpringContext並加載用手彈簧上下文中每個測試實例。

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/application-context.xml"); 
+0

可以裝入許多應用上下文與。 但是,我有一個定義的「ApplicationContextAware」(用於加載參數文件),當我使用這種技術時它不會被初始化。 – user3073466