springboot的MockMvc单元测试(测试controller层方法)

以你之姓@ 2024-03-30 15:25 216阅读 0赞

所谓单元测试,即用一小段可以独立运行的代码,去测试一个比较底层的单独的功能。

如果需要对controller层的方法进行测试,那么我们可以使用springboot提供的MockMvc,模拟客户端的请求来测试。

一、引入依赖

只有我们去执行测试类时,该依赖才会被加载

  1. <!--集成单元测试junit需要的依赖 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-test</artifactId>
  5. <scope>test</scope>
  6. </dependency>

二、理论知识详解

1.@RunWith

该注解为类级别批注,该注解的作用是告诉java这个类是以什么运行环境来运行

2.@SpringBootTest

启动spring容器,用来指定springboot应用程序的入口类,该注解会根据包名逐级向上查找,一直找到一个springboot的主程序为止,然后启动该类为单元测试准备spring上下文环境,参数是启动类的字节码文件

三、创建测试类

在test目录下创建测试类

9dc93651c9c34bc7aef0c4c11010e2a3.png

  1. //参数是启动类的字节码文件
  2. @RunWith(SpringRunner.class)
  3. @SpringBootTest(classes = SpringbootApplication.class)
  4. public class TestEmp {
  5. @Autowired
  6. private EmpMapper empMapper;
  7. //测试方法要求无参无返回值无静态
  8. @Test
  9. public void testGetEmpByEname(){
  10. List<Emp> emps = empMapper.getEmpByEname("乔");
  11. for (Emp emp:emps) {
  12. System.out.println(emp);
  13. }
  14. }
  15. }

发表评论

表情:
评论列表 (有 0 条评论,216人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MockMvc 单元测试

     MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以