首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring学习笔记(二十八)——springboot单元测试&JUnit5

JUnit5 的变化 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库 作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。...数组断言 通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等 @Test @DisplayName("array assertion") public void array...异常断言 在JUnit4时期,想要测试方法的异常情况时,需要用@Rule注解的ExpectedException变量还是比较麻烦的。...: 表示为参数化测试提供一个枚举入参 * @CsvFileSource:表示读取指定CSV文件内容作为参数化测试入参 * @MethodSource:表示读取指定方法的返回值作为参数化测试入参(注意方法返回需要是一个流...如:CSV,YML,JSON 文件甚至方法的返回值也可以作为入参。只需要去实现ArgumentsProvider接口,任何外部文件都可以作为它的入参。

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

SpringBoot2---单元测试(Junit5

单元测试 JUnit5 的变化 JUnit5常用注解 常用注解使用演示 断言机制(assertions) 1、简单断言 2、数组断言 3、组合断言 4、异常断言 5、超时断言 6、快速失败 4、前置条件...(assumptions) 5、嵌套测试 6、参数化测试 Junit4到Junit5的迁移指南 ---- JUnit5 的变化 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库...通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等 是逻辑相等,也就是equals,不是地址相等,即==对于数组就是数组元素一致 @Test @DisplayName...), () -> assertTrue(1 > 0) ); } ---- 4、异常断言 在JUnit4时期,想要测试方法的异常情况时,需要用@Rule注解的ExpectedException变量还是比较麻烦的...如:CSV,YML,JSON 文件甚至方法的返回值也可以作为入参。只需要去实现ArgumentsProvider接口,任何外部文件都可以作为它的入参。

1.2K20

Spring Boot中使用JUnit5进行单元测试

作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。...通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等 @Test @DisplayName("array assertion") public void array(...1), () -> assertTrue(1 > 0) ); } (4) 异常断言 在JUnit4时期,想要测试方法的异常情况时,需要用@Rule注解的ExpectedException变量还是比较麻烦的...利用@ValueSource等注解,指定入参,我们将可以使用不同的参数进行多次单元测试,而不需要每新增一个参数就新增一个单元测试,省去了很多冗余代码。...如:CSV,YML,JSON 文件甚至方法的返回值也可以作为入参。只需要去实现ArgumentsProvider接口,任何外部文件都可以作为它的入参。

1.4K30

JUnit5学习之六:参数化测试(Parameterized Tests)基础

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于《JUnit5学习》系列 《JUnit5学习》...Assertions类 按条件执行 标签(Tag)和自定义注解 参数化测试(Parameterized Tests)基础 参数化测试(Parameterized Tests)进阶 综合进阶(终篇) 本篇概览 本文是《JUnit5...数据源 ValueSource是最简单常用的数据源,支持以下类型的数组: short byte int long float double...char boolean java.lang.String java.lang.Class 下面是整形数组的演示: @Order(2) @DisplayName...,通常要考虑入参为null的情况,此时ValueSource一般会这样写: @ValueSource(strings = { null, "a", "b", "c" }) 此时可以使用@NullSource

83420

SpringBoot2核心技术-单元测试

通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等 @Test @DisplayName("array assertion") public void array()...+ 1), () -> assertTrue(1 > 0) ); } 4、异常断言 在JUnit4时期,想要测试方法的异常情况时,需要用**@Rule注解的ExpectedException变量还是比较麻烦的...而JUnit5提供了一种新的断言方式Assertions.assertThrows()** ,配合函数式编程就可以进行使用。...: 表示为参数化测试提供一个枚举入参 @CsvFileSource:表示读取指定CSV文件内容作为参数化测试入参 @MethodSource:表示读取指定方法的返回值作为参数化测试入参(注意方法返回需要是一个流...如:CSV,YML,JSON 文件甚至方法的返回值也可以作为入参。只需要去实现ArgumentsProvider接口,任何外部文件都可以作为它的入参。

62820

JUnit5学习之七:参数化测试(Parameterized Tests)进阶

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于《JUnit5学习》系列 《JUnit5学习》...ArgumentsSource,并指定MyArgumentsProvider: @Order(15) @DisplayName("ArgumentsProvider接口的实现类提供的数据作为入参...其实JUnit5并没有严格要求,而事实上JUnit5是可以做一些自动或手动的类型转换的; 如下代码,数据源是int型数组,但测试方法的入参却是double: @Order(16) @DisplayName...("int型自动转为double型入参") @ParameterizedTest @ValueSource(ints = { 1,2,3 }) void argumentConversionTest...ArgumentsAccessor类型作为入参,就能在方法内部取得CSV记录的所有字段,效果如下图,可见CSV字段实际上是保存在ArgumentsAccessor实例内部的一个Object数组中:

89230

从零玩转系列之SpringBoot3-基础特性

Profile 配置文件application-{profile}.properties可以作为指定环境的配置文件。激活这个环境,配置就会生效。...我们可以使用各种外部配置源,包括Java Properties文件、YAML文件、环境变量和命令行参数。...测试4.2.0 组件测试直接@Autowired容器中的组件进行测试4.2.1 注解JUnit5的注解与JUnit4的注解有所变化https://junit.org/junit5/docs/current...assertNull 判断给定的对象引用是否为 null assertNotNull 判断给定的对象引用是否不为 null assertArrayEquals数组断言...@CsvFileSource:表示读取指定CSV文件内容作为参数化测试入参@MethodSource:表示读取指定方法的返回值作为参数化测试入参(注意方法返回需要是一个流)@ParameterizedTest

40620

spring junit单元测试

项目情况 首先是背景,项目是一个较大型的项目,多个团队协作开发,采用的是SpringCloud作为基础微服务的架构,中间件涉及Redis,MySQL,MQ等等。...junit5正式版本的发布日期是2017年9月11日,目前最新的版本是5.5.2(2019年9月9日)。我们项目底层选择了junit5。...System.out.println("id="+id+" name="+name+" tORf="+t); merchantController.forTest(null); } 首先看变量的部分...代码当中实际上也提到了,就是junit5提供的@ParameterizedTest注解,配合@ValueSource, @CsvSource来使用,分别可以设置指定类型或者复杂类型到单元测试中,使用方法的参数接受...单元测试的执行 单元测试的执行实际上分成2部分: IDE中我们要去验证单元测试是否能够成功执行 CI/CD作为执行的先决条件保障 IDE可以直接指定测试框架,我们选择junit5直接生成单元测试代码,可以直接在测试包或者类上右键执行单元测试

96060

如何用Junit5玩出参数化测试的新花样?

简介 这是之前一篇文章《用junit5编写一个类ZeroCode的测试框架》的续集。主要将在之前工作的基础上,围绕参数化测试展开。...框架主要设计点: 一个用例是一个测试文件 一个用例集是一个目录 用例全部在文件中呈现,不需要写代码 主要使用的是 Junit5提供的@ParameterizedTest 引入参数化 为了能使用Junit5...在一般的参数化测试介绍中,通常的方案是将一个文件作为数据源,如一个单一的csv文件,然后其中的某一行作为一个用例。而在我们的方案中,我们需要将整个给定目录中的csv文件作为测试用例集进行遍历执行。...在评估了junit-jupiter-params所提供的下列全新的注解之后, @ValueSource @EnumSource @MethodSource @CsvSource @CsvFileSource...本文提供的简单案例,可以作为参考。

89730

如何用Junit5玩出参数化测试的新花样?

简介 这是之前一篇文章《用junit5编写一个类ZeroCode的测试框架》的续集。主要将在之前工作的基础上,围绕参数化测试展开。...框架主要设计点: 一个用例是一个测试文件 一个用例集是一个目录 用例全部在文件中呈现,不需要写代码 主要使用的是 Junit5提供的@ParameterizedTest 引入参数化 为了能使用Junit5...在一般的参数化测试介绍中,通常的方案是将一个文件作为数据源,如一个单一的csv文件,然后其中的某一行作为一个用例。而在我们的方案中,我们需要将整个给定目录中的csv文件作为测试用例集进行遍历执行。...在评估了junit-jupiter-params所提供的下列全新的注解之后, @ValueSource @EnumSource @MethodSource @CsvSource @CsvFileSource...本文提供的简单案例,可以作为参考。

1.5K20

五年了,你还在用junit4吗?

junit5 JUnit5在2017年就发布了,你还在用junit4吗? 什么是junit5 与以前的JUnit版本不同,JUnit 5由三个不同子项目的多个不同模块组成。...作为JUnit Jupiter的主要变化之一,测试构造函数和方法现在都允许有参数。...最惊艳的提升,强烈推荐使用 @ValueSource: 为参数化测试指定入参来源,支持八大基础类以及String类型,Class类型 @NullSource: 表示为参数化测试提供一个null的入参 @...EnumSource: 表示为参数化测试提供一个枚举入参 @CsvSource:表示读取CSV格式内容作为参数化测试入参 @CsvFileSource:表示读取指定CSV文件内容作为参数化测试入参 @MethodSource...看完用法描述,简直太喜欢了 一个顶三个基础测试用例 @ParameterizedTest @ValueSource(strings = {"one", "two", "three"}) @DisplayName

1.5K40

Java单元测试之JUnit 5快速上手

@RepeatedTest 注解内用 currentRepetition 变量表示已经重复的次数,totalRepetitions 变量表示总共要重复的次数,displayName 变量表示测试方法显示名称...,我们直接就可以使用这些内置的变量来重新定义测试方法重复运行时的名称。...@ValueSource 是 JUnit 5 提供的最简单的数据参数源,支持 Java 的八大基本类型和字符串,Class,使用时赋值给注解上对应类型属性,以数组方式传递,示例代码如下: public...@ArgumentSource:通过实现 ArgumentsProvider 接口的参数类来作为数据源,重写它的 provideArguments 方法可以返回自定义类型的 Stream\ ,作为测试方法所需要的数据使用...参考资料 https://junit.org/junit5/docs/current/user-guide/#overview-getting-started-junit-artifacts https

1.2K40

Java单元测试之JUnit 5快速上手

,totalRepetitions 变量表示总共要重复的次数,displayName 变量表示测试方法显示名称,我们直接就可以使用这些内置的变量来重新定义测试方法重复运行时的名称。...@ValueSource 是 JUnit 5 提供的最简单的数据参数源,支持 Java 的八大基本类型和字符串,Class,使用时赋值给注解上对应类型属性,以数组方式传递,示例代码如下: public...运行测试,结果如下图所示,针对 @ValueSource 里每个参数都会运行目标方法,一旦哪个参数运行测试失败,就意味着该测试方法不通过。...> ,作为测试方法所需要的数据使用。...参考资料 https://junit.org/junit5/docs/current/user-guide/#overview-getting-started-junit-artifacts https

1.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券