这里将说明的是,在Spring环境下的单元测试,主要是针对配置的说明:
首先,在main/java下练习写下两种类:
同时,定义applicationContext.xml:
随后,定义test case,分别为:
JunitServiceTest类,这是其中一种:
另外一种,
JunitResourceTest:
其中,junit-test.xml的配置为:
最后,为了测试方便,创建了一个测试套类:
运行结果为:
在此过程中,遇到比较多的问题就是Failed to load ApplicationContext.
我们从字面意思就可以得知,是上下文对象加载失败,那么,我们从创建unit test case时就可以得知,涉及到context加载问题也就那么几个点:
@ContextConfiguration加载路径文件时。
@Resource注解:类似如上例子,JUnitResource类我们并没有通过注解的方式将该对象让Spring IOC容器管理,所以,在使用该注解时,必须声明bean对象在xml中。
或者你也可以不需要通过@Resource注解使用,可以通过如上第二种方式也可以达到预期结果。
当然还会存在NullPointerException异常,多的是对存储对象进行了Mock,本类返回该存储对象,在test对象中处理时会是你之前Mock的数据对象。除非一开始定义时,就声明成该对象的实例。
另外,Junit版本之间还是有些许差异,比如Junit5用@ExtendWith替代了@RunWIth,等等之类的更新特性,但是万变不离其宗,搞清楚原理,无非就是上层封装搭桥。
初次总结,如有错误,恭请斧正。
.