• junit spring



    import org.apache.commons.lang3.StringUtils;
    import org.apache.xbean.spring.context.ClassPathXmlApplicationContext;

    import com.opensymphony.xwork2.interceptor.annotations.After;
    import com.opensymphony.xwork2.interceptor.annotations.Before;

    public class UnitTestBean {
        private ClassPathXmlApplicationContext context;
        
        private String springXmlpath;
        
        public UnitTestBean(String springXmlpath){
            this.springXmlpath = springXmlpath;
        }
        
        @Before
        public void before(){
            System.out.println("springXmlpath = : "+springXmlpath);
            if(StringUtils.isEmpty(springXmlpath)){
                springXmlpath="classpath*:spring-*.xml";
            }
                context=new ClassPathXmlApplicationContext(springXmlpath.split("[,\s]+"));
                System.out.println("context new :  "+springXmlpath.split("[,\s]+"));
                context.start();
        }
        
        @After
        public void after() {
            context.destroy();
        }
        
        @SuppressWarnings("unchecked")
        protected <T extends Object>T getBean(String beanId){
            return(T)context.getBean(beanId);
        }
        
        protected <T extends Object>T getBean(Class<T> clazz){
            return context.getBean(clazz);
        }
        
        
    }

    import org.junit.runner.RunWith;
    import org.junit.runners.BlockJUnit4ClassRunner;


    @RunWith(BlockJUnit4ClassRunner.class)
    public class TestOneInterface extends UnitTestBean {

        public TestOneInterface() {
            super("classpath*:spring-ioc.xml");
        }
        
        @Test
        public void testSay() {
            OneInterface oneInterface = super.getBean("oneInterface");
            oneInterface.say("This is a test.");
        }

    }

  • 相关阅读:
    Webpack的学习总结(1)
    mybatis-plus逻辑删除
    vscode编译调试C/C++多文件——linux(makefile)
    vscode配置调试C/C++程序——linux环境(命令行编译)
    shell编程题(二十二)
    shell编程题(二十三)
    shell编程题(二十一)
    shell编程题(二十)
    GTK开发视频播放器
    C语言实现LRU缓存(二)
  • 原文地址:https://www.cnblogs.com/aiwoqu/p/4424822.html
Copyright © 2020-2023  润新知