Spring Test与开发者测试(10)
一、实验目的
(1)理解单元测试、切片测试的必要性
(2)掌握Spring项目中切片测试的方法
(3)掌握Spring MVC项目的模型、视图、控制器层各层的测试方法
二、实验用的仪器和材料
(1)硬件:PC或Mac一台;8G及以上内存,40G硬盘空间
(2)软件环境:Windows 10/11操作系统或其他支持JVM的操作系统
三、实验的步骤和方法
(1)参照实验手册,运行Payment项目的测试用例。
1.1 在oomall_demo数据库中导入data.sql完成建表和数据初始化
1.2 安装Redis并启动Redis服务
1.3 加载Payment项目并修改数据库连接、Redis连接配置
1.4 执行测试用例,并对结果截图
1.4.1 执行CommonTest中的测试用例
1.4.2 执行dao层的测试用例
1.4.3 执行service层的测试用例
1.4.4 执行controller层的测试用例
(2)参照实验手册,为在线问答项目的service层增加单元测试和切片测试。
2.1 运行mybatis-plus-demo项目,调用添加问题的接口,向数据库中添加一条Problem记录
2.2 在test.java.edu.seig.mpd中新增service包和controller包
2.3 在service包下新增ProblemServiceTest类,对ProblemService的get()⽅法编写测试,分别对数据库中问题存在和问题不存在两种情况进⾏测试,对测试用例运行结果截图。
2.4 在controller包下新增ProblemControllerTest类,对Controller中的get, post, put, delete⽅法进⾏测试,对测试用例运行结果截图。
说明:对controller的测试可仿照项⽬RestFulDemoTest中测试类GoodsControllerTest.java
四、数据记录和计算
执行CommonTest中的测试用例
执行dao层的测试用例
执行service层的测试用例
执行controller层的测试用例
运行mybatis-plus-demo项目,调用添加问题的接口,向数据库中添加一条Problem记录
在service包下新增ProblemServiceTest类,对ProblemService的get()⽅法编写测试,分别对数据库中问题存在和问题不存在两种情况进⾏测试,对测试用例运行结果截图。
在controller包下新增ProblemControllerTest类,对Controller中的get, post, put, delete⽅法进⾏测试,对测试用例运行结果截图。
五、备注或说明
在进行ProblemServiceTest类测试的时候一直报错,后面发现是数据库表数据不完整导致的
一开始答案1是空着的,填上后就测试成功了。
在测试ProblemControllerTest类时也会出现失败的情况,貌似是测试具有滞后性,需要隔一段时间才会获取到修改后的数据库。