junit 基于 spring 工程的测试基类编写

无论是SSH,SSI架构,都少不了用spring, 但一般写后台程序的人都需要自己检测功能是否正确,数据是否正确,一般不会运行web  application 起来通过界面测试。都是直接通过 junit 写单元测试的, 但 通过 spring 配置的程序,需要拿到 配置的 bean 才可以。可以直接通过 ClassPathXmlApplicationContext 拿到beanFactory, 然后去获得各种bean. 这可以写一个基类,供其他测试类extend:

程序代码 程序代码


public class BasicTest {
    @Before
    public void setUp() throws Exception {
        if (beanFactory == null) {
            beanFactory = new ClassPathXmlApplicationContext(
//            "com/hicom/platform/test/resources/context.xml");
                    "classpath*:spring/context-web.xml");
        }
        if (sessionFactory == null) {
            sessionFactory = (SessionFactory) beanFactory
                    .getBean("sessionFactory");
        }
        if (hibernateTemplate == null) {
            hibernateTemplate = (HibernateTemplate) beanFactory
                    .getBean("hibernateTemplate");
        }
        if (session == null) {
            session = sessionFactory.openSession();
            //session = HibernateSessionFactory.getSession();
        }
        this.initialize();
    }

    

    protected static BeanFactory beanFactory;
    protected Session session;
    protected SessionFactory sessionFactory;
    protected HibernateTemplate hibernateTemplate;
}


其他测试类,只要继承这个基类,通过 beanFactory  得到自己想要的 bean , 然后调用方法就可以了。

除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: junit 基于 spring 工程的测试基类编写
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.