spring的@ContextConfiguration注解

在junit测试的时候,我们需要测试spring的内容时,需要用到@RunWith和@ContextConfiguration两个注解。

在这里介绍下通过注解注入的bean和原生springContext获取到的bean是同一对象。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/applicationContext.xml"})
public class TestDataCheck {

    private final String packageName = "com.choice.boh.uploadDataCheck.service";

    @Autowired
    private MarsaleclassCheck marsaleclassCheck;

    @Test
    public void testDataCheck(){
        //获取指定包下面所有的类名
        List<String> classNames = PackageUtil.getClassName(packageName, false);
        for(int i=0;i<classNames.size();i++){
            String name = classNames.get(i).substring(classNames.get(i).lastIndexOf(".")+1);//取类名
            name = name.substring(0,1).toLowerCase()+name.substring(1);//首字母小写
            Object bean = SpringContextUtil.getBean(name);
            Assert.assertEquals(marsaleclassCheck, bean);
        }
    }

}
经验分享 程序员 微信小程序 职场和发展