跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

单元测试怎么做?后端开发必备的Mock技术详解

大家好,我是林译川,今天我们来聊聊单元测试,特别是后端开发中常用的Mock技术。

在A项目的时候,我响应公司号召,开始写单元测试,积累了一些经验,现在分享给大家。

单元测试规范

首先,单元测试文件要有良好的结构和格式,测试用例的命名要清晰易懂,这样才能描述测试目标的行为。

测试技术Mock

Mock技术,简单来说,就是模拟测试对象的行为,返回预先设计的结果。它有几个重要作用:

  • 解除测试对象对外部服务的依赖,提高测试用例的可迁移性和稳定性。
  • 提升测试用例的运行速度。
  • 提升测试效率。

目录结构和依赖包

创建/src/test资源包,和/src/main同级,test目录下的包结构和main下保持一致。依赖包包括spring-boot-starter-test和mockito-all。


    org.springframework.boot
    spring-boot-starter-test
    test


    org.mockito
    mockito-all
    1.9.5
    test

MockMvc控制层单测

MockMvc可以用来测试流程性业务,测试速度快,不依赖网络环境,提供了一套验证的工具。

测试类编写要求

  • 继承测试类启动类。
  • 测试类类名命名方式为:被测试类名+test。
  • 测试方法命名方式为:test+测试方法名。
  • 测试方法上加@Test注解。
  • 测试类上加@Transactional注解,会自动回滚。
  • 使用Assert的API,对返回结果进行断言。
  • 多种场景测试可以使用多次使用perform(x)方法进行测试,并断言。

Mockito业务层单测

对于业务逻辑复杂的接口,使用Mockito进行单元测试,将注意力放在业务逻辑上,不依赖数据库。

使用断言的几个原则

  • 使用断言捕捉不应该发生的非法情况。
  • 使用断言对函数的参数进行确认。
  • 当进行防错性编程时,如果

相关文章