单元测试-spring-boot-starter-test+junit5

这篇具有很好参考价值的文章主要介绍了单元测试-spring-boot-starter-test+junit5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

开发过程中经常需要写单元测试,记录一下单元测试spring-boot-starter-test+junit5的使用


引入内容:

引用jar包

<!-- SpringBoot测试类依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<!-- junit -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.9.2</version>
    <scope>test</scope>
</dependency>

注入service\mapper代码测试:

可以对局部函数、方法进行调用测试

import java.util.*;
import java.util.stream.Collectors;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class DServerLocalApplicationTests {

    @Autowired
    AService aService;
    @Autowired
    private AMapper aMapper;
    @Autowired
    private BMapper bMapper;

    @Test
    void test() {
        List<A> a= aMapper.selectList(null);
        List<B> b = bMapper.selectList(null); 
        ...
        
    }
}

测试restful接口:

可以对API调用进行模拟测试文章来源地址https://www.toymoban.com/news/detail-805890.html

/**
 * @author CH
 * @version 1.0   单元测试模板案例
 * @data 2023/6/6 14:12
 */
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
public class TestTemplateTests {

    // MockMvc是Spring提供的专用于测试Controller类
    private MockMvc mockMvc;

    @Autowired
    private WebApplicationContext wac;

    @Before
    public void setup() {
        // 初始化MockMvc对象;
        this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
    }

    @Before
    public void init() {
        log.info("开始测试...");
    }

    @After
    public void after() {
        log.info("测试结束...");
    }

    /***
     * 加@Transactional可以对单元测试执行的结果进行回滚,不会产生脏数据
     */
    @Transactional
    @Test
    public void getTest() throws Exception {
        ResultActions resultActions = mockMvc.perform(
                MockMvcRequestBuilders
                        // URL =>注意:在测试类中,不需要将根路径写进去 ,还有很多调用方式post\put\delete
                        .get("/appAssets/assetsTest")
                        // 参数格式
                        .contentType(MediaType.APPLICATION_JSON)

                // 传参格式很多
//                        .content(JSONObject.toJSONString(""))
//                        .header()
//                        .param()
        );
        MvcResult mvcResult =
                resultActions
                        // 接口调用状态
                        .andExpect(MockMvcResultMatchers.status().isOk())
                        // 打印结果数据
                        .andDo(MockMvcResultHandlers.print())
                        .andReturn();

        // 取到结果进行断言
        Result result = JSON.parseObject(mvcResult.getResponse().getContentAsString(), Result.class);

        // 对结果进行断言
        Assertions.assertEquals("操作成功", result.getMessage());
        Assertions.assertEquals(200, result.getStatus());
    }

}

到了这里,关于单元测试-spring-boot-starter-test+junit5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Spring Test中使用MockMvc进行上传文件单元测试时,报NullPointerException

    问题 : MockMvc peform在集成测试中返回nullPointerException 原因 : springboot-2.x版本以上,当你添加依赖spring_boot_starter_test后,可以在内部看到自带了jupiter测试核心模块,也就是 junit5,junit5(jupiter测试引擎)不再支持junit4(vintage测试引擎),在使用时自然不再需要spring来提供了,

    2024年02月14日
    浏览(9)
  • Spring Boot Testing: 使用springboot-test提供的测试框架来实现自动化测试

    作者:禅与计算机程序设计艺术 软件测试是在开发过程中不可缺少的一环。单元测试、集成测试、功能测试等都是为了保证系统的质量而进行的测试活动。单元测试主要验证各个模块(类、方法)在各种情况下是否正常工作;集成测试则是将不同模块组合起来看是否可以正常

    2024年02月07日
    浏览(10)
  • Spring Boot单元测试

    Spring Boot单元测试

    ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 Spring Boot 中进行单元测试是一个常见的做法,可以帮助你验证应用程序的各个组件是否按预期工作。所以我们有必要去学习一番! 单元测试

    2024年02月13日
    浏览(8)
  • 【Spring Boot】单元测试

    单元测试在日常项目开发中必不可少,Spring Boot提供了完善的单元测试框架和工具用于测试开发的应用。接下来介绍Spring Boot为单元测试提供了哪些支持,以及如何在Spring Boot项目中进行单元测试。 单元测试主要用于测试单个代码组件,以确保代码按预期方式工作。目前流行的

    2024年02月16日
    浏览(8)
  • Spring boot 集成单元测试

    Spring boot 集成单元测试

    1.引入依赖 2.  3.编写测试类

    2024年02月11日
    浏览(10)
  • 【Spring Boot】SpringBoot 单元测试

    【Spring Boot】SpringBoot 单元测试

    单元测试(unit testing),是指对软件中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试。 1、可以⾮常简单、直观、快速的测试某⼀个功能是否正确。 2、使⽤单元测试可以帮我们在打包的时候,发现⼀些问题,因为在打包之前,所以的单元测试必须通过,否则不能打包

    2024年02月07日
    浏览(11)
  • Spring Boot 做单元测试,真心强悍!

    Spring Boot 做单元测试,真心强悍!

    Spring Boot 提供了丰富的测试功能,主要由以下两个模块组成: spring-boot-test :提供测试核心功能。 spring-boot-test-autoconfigure :提供对测试的自动配置。 Spring Boot 提供了一个  spring-boot-starter-test 一站式启动器,如以下依赖配置所示。 测试启动器依赖不仅包含以上两个 Spring Bo

    2024年02月04日
    浏览(7)
  • Spring Boot异常处理及单元测试

    Spring Boot异常处理及单元测试

    SpringBoot默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicErrorController 来处理/error 请求,然后跳转到默认显示异常的页面来展示异常信息 如 果我 们 需 要 将 所

    2024年01月19日
    浏览(11)
  • Spring Boot 单元测试,保姆级教程!

    Spring Boot 单元测试,保姆级教程!

    概念: 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在Java中单元测试的最小单元是类。 单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。执行单元测试,就是为了证明这段代码的行为和我们期望是

    2024年02月03日
    浏览(8)
  • 三个要点,掌握Spring Boot单元测试

    三个要点,掌握Spring Boot单元测试

    单元测试是软件开发中不可或缺的重要环节,它用于验证软件中最小可测试单元的准确性。 结合运用Spring Boot、JUnit、Mockito和分层架构,开发人员可以更便捷地编写可靠、可测试且高质量的单元测试代码,确保软件的正确性和质量。 本文将从与单元测试相关的技术主题开始,

    2024年02月08日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包