在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);
}
}
}