问答详情
源自:2-1 IOC及Bean容器

跪求大神帮忙,不胜感激

源码都没法下载,那个BlockJUnit4ClassRunner报错不知道是什么原因,UnitTestBase是自己写的类吗?

提问者:quietwaltz 2015-03-25 00:04

个回答

  • 好帮手慕珊
    2015-03-25 09:08:47

    UnitTestBase是自己写的类,代码如下

    package com.imooc.test.base;


    import org.junit.After;

    import org.junit.Before;

    import org.springframework.beans.BeansException;

    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import org.springframework.util.StringUtils;


    public class UnitTestBase {

    private ClassPathXmlApplicationContext context;

    private String springXmlpath;

    public UnitTestBase() {}

    public UnitTestBase(String springXmlpath) {

    this.springXmlpath = springXmlpath;

    }

    @Before

    public void before() {

    if (StringUtils.isEmpty(springXmlpath)) {

    springXmlpath = "classpath*:spring-*.xml";

    }

    try {

    context = new ClassPathXmlApplicationContext(springXmlpath.split("[,\\s]+"));

    context.start();

    } catch (BeansException e) {

    e.printStackTrace();

    }

    }

    @After

    public void after() {

    context.destroy();

    }

    @SuppressWarnings("unchecked")

    protected <T extends Object> T getBean(String beanId) {

    try {

    return (T)context.getBean(beanId);

    } catch (BeansException e) {

    e.printStackTrace();

    return null;

    }

    }

    protected <T extends Object> T getBean(Class<T> clazz) {

    try {

    return context.getBean(clazz);

    } catch (BeansException e) {

    e.printStackTrace();

    return null;

    }

    }


    }