springboot项目或其他项目使用@Test测试项目接口配置

 更新时间:2024年07月10日 11:14:27   作者:小徐敲java  
这篇文章主要介绍了springboot项目或其他项目使用@Test测试项目接口配置,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1. springboot项目在pom配置

添加此依赖

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

2. 对要测试的class创建测试文件

2.1 按快捷键ctrl+shift+t

选择创建New Test,勾选需要创建单元测试的方法,然后点击OK就直接创建完成了,会在test目录下生成相应的测试类

在类上面加上注解

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest

如果测试的是service

demo如下:

package com.example.demo;
 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class HelloServiceTest {
 
    @Autowired
    private HelloService helloService;
 
    @Test
    public void hello(){
        helloService.hello();
    }
 
}

如果测试的是controller,需要加入@AutoConfigureMockMvc的注解

demo如下:

package com.example.demo;
 
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.SpringJUnit4ClassRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
 
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class HelloControllerTest {
 
    @Autowired
    private MockMvc mockMvc;
 
    @Test
    public void hello() throws Exception {
        mockMvc.perform(MockMvcRequestBuilders.get("/hello"))
                .andExpect(MockMvcResultMatchers.status().isOk());
    }
 
}

2.2 在test(没有此目录就需要创建)目录的java类下

在类上添加注解@SpringBootTest和@RunWith(SpringRunner.class)

在方法上添加@Test

import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.hujy.demo.service.impl.DbHistoryConfig;

@RunWith(SpringRunner.class)
@SpringBootTest
public class ShardingJdbcDemoApplicationTests {
    @Resource
    private DbHistoryConfig dbHistoryConfig;
    
    @Test
    public void fileRenew(){
        dbHistoryConfig.fileRenew("1");
    }
}

@SpringBootTest和@RunWith(SpringRunner.class)是为了启动springboot项目,然后@Test注解中使用ioc容器

3.普通项目测试

也需要在test(没有此目录就需要创建)目录的java类下

3.1 在方法上添加注解@Test

import com.hujy.demo.service.impl.DbHistoryConfig;
import org.junit.Test;
public class ShardingJdbcDemoApplicationTests {
    @Test
    public void fileRenew() {
        new DbHistoryConfig().fileRenew("1");
    }
}

3.2 在pom添加依赖

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决Java中基于GeoTools的Shapefile读取乱码的问题

    解决Java中基于GeoTools的Shapefile读取乱码的问题

    本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属性信息解析的方法,感兴趣的朋友跟随小编一起看看吧
    2025-03-03
  • Java实现度分秒坐标转十进制度

    Java实现度分秒坐标转十进制度

    随着技术的发展,十进制度因其精确性和便捷性在现代应用中越来越受到青睐,下面我们就来看看如何使用Java实现度分秒坐标转十进制度吧
    2024-12-12
  • java学习之JasperReport踩坑

    java学习之JasperReport踩坑

    本篇文章介绍的是在JAVA学习中JasperReport遇到的坑以及解决办法,有需要的朋友参考下吧。
    2018-01-01
  • SpringCloud Gateway路由核心原理解析

    SpringCloud Gateway路由核心原理解析

    本文主要介绍了SpringCloudGateway的基础构建块、工作原理以及核心原理解析,SpringCloudGateway是Spring官方基于SpringSpringBoot和ProjectReactor等技术开发的网关,旨在为微服务架构提供一种简单而有效的统一的API路由管理方式
    2024-10-10
  • Windows10 Java环境变量配置过程图解

    Windows10 Java环境变量配置过程图解

    这篇文章主要介绍了Windows10 Java环境变量配置过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 关于spring中单例Bean引用原型Bean产生的问题及解决

    关于spring中单例Bean引用原型Bean产生的问题及解决

    这篇文章主要介绍了关于spring中单例Bean引用原型Bean产生的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 基于Redis实现分布式应用限流的方法

    基于Redis实现分布式应用限流的方法

    本篇文章主要介绍了基于 Redis 实现分布式应用限流的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常

    Caused by: java.lang.ClassNotFoundException: org.objectweb.a

    这篇文章主要介绍了Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Springboot如何添加server.servlet.context-path相关使用

    Springboot如何添加server.servlet.context-path相关使用

    这篇文章主要介绍了Springboot如何添加server.servlet.context-path相关使用问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Java中的@builder建造者模式详细解析

    Java中的@builder建造者模式详细解析

    这篇文章主要介绍了Java中的@builder建造者模式详细解析,使用 @Builder 注解可以简化手动编写建造者模式的代码,使代码更加简洁易读,它可以自动生成链式调用的方法来设置对象的属性,并且可以在需要时进行可选属性的设置,需要的朋友可以参考下
    2024-01-01

最新评论