结合Java&用于测试的xml spring配置

时间:2011-08-19 20:55:45

标签: java spring testing

解释here如何结合java& xml配置完成。有用。自3.1.0.M2以来,测试上下文框架具有java配置支持:

@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
public class LangDetectorTest extends AbstractTestNGSpringContextTests {
@Configuration
    static class ContextConfiguration {

        @Bean
        public LangDetector langDetector() throws SystemException {
            LangDetector orderService = new LangDetector();
            return orderService;
        }
    }
}

虽然我无法弄清楚如何将java配置作为主要配置,并从XML配置加载类似util:properties和stuff的东西。

我需要做这样的事情:

@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
@ImportResource("classpath:context/LangDetectorTest-test.xml")
public class LangDetectorTest extends AbstractTestNGSpringContextTests {

    @Configuration
        static class ContextConfiguration {

            @Bean
            public LangDetector langDetector() throws SystemException {
                LangDetector orderService = new LangDetector();
                return orderService;
            }
        }
    }

否则,对于测试上下文框架的java配置支持是没用的,考虑到只有通过XML配置才能完成很多事情。

1 个答案:

答案 0 :(得分:1)

引自springsource blog post

  

对于Spring 3.1 RC1,我们计划引入一个   DelegatingSmartContextLoader将委托给候选人列表   SmartContextLoaders(即GenericXmlContextLoader和   AnnotationConfigContextLoader)确定哪个上下文加载器   适合给定测试类的配置。获胜   候选人将用于实际加载上下文。一旦这个   工作完成后,DelegatingSmartContextLoader将被替换   GenericXmlContextLoader作为默认加载器。随意跟随   JIRA的这一发展进展:SPR-8387。