XD 04

springBoot 单元测试

首先引入依赖:

 

在 Test 文件夹, 创建相关包, 然后创建测试类. 增加2个注解:

@RunWith(SpringRunner.class)  //底层用 Junit, SpringJunit4ClassRunner

@SpringBootTest(class={XXXapplication.class})   // 就是启动整个springboot 工程的类.

 

TestCase 是用来写断言的. 直接在这个 testOne 上右键 run as Junit test, 这样, 就会整个 springboot 启动来测试.

也可以选中这个 class , run as Junit test. 测试这个class 里的所有的测试方法.

@AutoConfigureMockMvc 可以模拟 client 请求, 虽然, 我们有 Postman, 但是, postman 是针对单个 controller 的测试,

而使用这个 MockMvc 可以是可以针对批量的 controller 来进行测试的

启动 debug 信息

java -jar xxx.jar --debug  (会显示更多启动信息)

异常处理 

异常注解: @ControllerAdvice,@RestControllerAdvice (直接返回 Json 格式)

可以当出现异常时, 集中处理, 而不是使用默认的, 因为默认的是不友好的。

 

自定义异常

首先, 自定义一个异常类 MyException, 主要包含2个属性, code 和 msg

这样, 当我们抛出我们自定义异常时, 同样还是进入到我们的 CustomExHandler 这个类里, 只是我们有了处理自定义异常的方法:

 

 一般都是返回 Json 数据的.

error.html 是我们自己做的页面, 通过springboot 的模板类注解.  

 

但,个人感觉,不想要异常的这种跳转页面, 因为我们一般都是前后端分离的.  个人还是觉得自定义异常也返回 JSON 格式异常数据好一些.

这种自定义异常, 都是逻辑上的错误, 并不是服务器出了什么问题.

posted @ 2021-04-08 21:15  神之一招  阅读(61)  评论(0编辑  收藏  举报