Springboot2.x单元测试

本文详细介绍了如何在SpringBoot项目中进行单元测试,包括引入测试依赖、使用SpringRunner和@SpringBootTest注解,以及如何测试API接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:讲解SpringBoot的单元测试
1、引入相关依赖
<!--springboot程序测试依赖,如果是自动创建项目默认添加-->

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

 

2、使用
@RunWith(SpringRunner.class) //底层用junit SpringJUnit4ClassRunner
@SpringBootTest(classes={DemoApplication.class})// 指定启动类,启动整个springboot工程

package net.nbclass.demo;

import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {DemoApplication.class})
public class DemoApplicationTests {

    @Test
    public void contextLoads() {
        System.out.println("测试中1");
        // 断言
        TestCase.assertEquals(1,1);
    }

    @Test
    public void contextLoads1() {
        System.out.println("测试中2");
        TestCase.assertEquals(1,1);
    }

    @Before
    public void testBefore(){
        System.out.println("测试前");
    }

    @After
    public void testAfter(){
        System.out.println("测试后");
    }

}

单独测试只需要运行对应的@test注解的方法就可以,全部测试就运行DemoApplicationTests 类就可以了

 

以下是测试API的,增加类注解 @AutoConfigureMockMvc

 

package net.nbclass.demo;

import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {DemoApplication.class})
@AutoConfigureMockMvc  //测试接口用
public class DemoApplicationTests {
  
    @Before
    public void testBefore(){
        System.out.println("测试前");
    }

    @After
    public void testAfter(){
        System.out.println("测试后");
    }

    //下面是测试接口
    @Autowired
    private MockMvc mockMvc;

    @Test
    public void apiTest()throws Exception{
        MvcResult mvcResult=mockMvc.perform(MockMvcRequestBuilders.get("/get")).
                andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
        int status=mvcResult.getResponse().getStatus();                              ----打印出状态码,200就是成功
        System.out.println(status);
    }

}

 

转载于:https://www.cnblogs.com/Mblood/p/9699341.html

在Spring Boot 3.x中进行单元测试的步骤如下: 1. 首先,在你的项目中,创建一个单元测试类。你可以通过在测试文件夹中创建一个新的Java类来完成这一步骤。 2.单元测试类中,添加所需的测试代码。你可以使用JUnit框架提供的断言方法来验证代码的正确性。你可以在测试方法上使用`@Test`注解来标记它们是测试方法。 3.单元测试类上,添加`@SpringBootTest`注解。这个注解告诉Spring Boot将运行这个测试类,并且会加载整个应用程序上下文。 4. 运行单元测试。你可以在你的开发环境中使用相应的工具或IDE来运行单元测试,也可以使用构建工具如Maven或Gradle来运行单元测试。 下面是一个简单的示例,展示了一个使用Spring Boot进行单元测试的类: ```java @SpringBootTest class MyUnitTest { @Autowired private MyService myService; @Test void testSomething() { // 测试代码 // 使用断言验证结果 assertEquals("expected", myService.doSomething()); } } ``` 在这个示例中,我们使用了`@SpringBootTest`注解来加载应用程序上下文,并使用`@Autowired`注解来注入需要测试的服务。然后,在`testSomething()`方法中,我们编写了测试代码,并使用`assertEquals()`方法进行断言验证。 注意,这只是一个简单的示例,你可以根据你的项目需求编写更复杂的单元测试。 总结起来,使用Spring Boot进行单元测试的步骤包括:创建单元测试类,添加测试代码,使用`@SpringBootTest`注解标记测试类,运行单元测试。记得在测试代码中使用断言方法来验证结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值