这里将说明的是,在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,等等之类的更新特性,但是万变不离其宗,搞清楚原理,无非就是上层封装搭桥。
初次总结,如有错误,恭请斧正。
.
本文深入解析Spring环境下的单元测试配置与实践,涵盖测试类编写、上下文加载常见问题及解决方案,对比不同Junit版本特性。
2171

被折叠的 条评论
为什么被折叠?



