Junit Mybatis SpringBoot 单元测试流程梳理
@Junit Mybatis SpringBoot 单元测试流程梳理
Junit Mybatis SpringBoot Controller Service Dao 单元测试流程梳理
踩坑预警
-
将包名之前的test.去掉 就没有 unable to find a @SpringBootConfiguration 的错误了
idea 整合 Junit
编写数据库连接父测试类
在 xml 里使用对象 url 的时候 注意 多个 连接 的 配置 用 & 分割 用 xml 配置 mybatis 的 resource 记得
<mappers <mapper> </mapper> </mappers>
Controller 的单元测试
-
使用 Mockmvc 模拟网络请求 遇到 通过设置 .contentType(MediaType.APPLICATION_JSON)解决了问题
mvc.perform(MockMvcRequestBuilders.post("url")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.accept(MediaType.APPLICATION_JSON_UTF8)
.content(requestString) //传json参数
.session(session)
)
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print());
Service 的单元测试
Dao 的单元测试
一个包含SqlSession的单元测试父类的编写
与测试数据相关的问题
-
使用Json文件来存储测试数据,能和接口文档比较好地无缝衔接,注意绝对路径与相对路径的问题 直接在测试类里用put方法构造测试数据 注意在测试数据的主键上作修改,使得测试数据可以通过过滤器等判定条件,但是在数据库里可以被识别出来 测试的脏数据可以被定期清理。 加上@Transactional 注解,可以让测试的脏数据回滚
测试报告的生成
idea 运行完Junit后,点击标记,生成单元测试报告,一个类一个HTML网页
