如何在 Java 中使用JUnit5进行单元测试和自动化测试

这篇具有很好参考价值的文章主要介绍了如何在 Java 中使用JUnit5进行单元测试和自动化测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

单元测试和自动化测试是现代软件开发过程中必不可少的环节,可以提高代码质量和开发效率。JUnit5是Java中流行的单元测试框架,本文将介绍如何在Java中使用JUnit5进行单元测试和自动化测试。

二、单元测试

2.1 单元测试的基本概念和原理

单元测试是一种测试方法,用于对软件系统中的最小可测试单元进行测试。这些单元通常是函数、方法或类,是软件系统的构建块。单元测试的目的是验证代码的正确性,以便在将代码发布到生产环境之前检测和纠正错误。

单元测试的基本原理是将被测试的代码单元与它的输入数据进行配对,运行测试并检查输出结果是否符合预期。在单元测试中,测试代码不应该依赖于外部因素(如数据库、文件系统等),而应该只测试代码单元本身的行为和逻辑。因此,单元测试需要使用一些工具和技术,如mock和stub对象等,来模拟外部依赖项和控制测试环境。

单元测试通常采用自动化测试的方式进行,即编写测试代码和测试脚本,使用自动化测试工具进行自动化测试。自动化测试可以大大提高测试效率和质量,使得在开发过程中可以快速反馈和解决问题。同时,单元测试还可以作为代码文档,提供一个实际的例子来展示代码的使用方法和行为。

总之,单元测试是软件开发过程中必不可少的环节,可以提高代码质量和可维护性,降低缺陷率和维护成本。

2.2 使用JUnit5实现单元测试

2.2.1 JUnit5的基本使用方法

添加JUnit5依赖

在项目的构建文件中添加JUnit5依赖,例如在Maven项目中,在pom.xml文件中添加以下依赖:

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>

编写测试代码

在测试类中编写测试方法,每个测试方法需要使用@Test注解进行标注。例如:

import org.junit.jupiter.api.Test;
public class MyTest {
@Test
void myTest() {
// 测试代码
}
}

运行测试

在IDE中运行测试类,JUnit5会自动执行所有标注了@Test注解的测试方法,并输出测试结果。

2.2.2 断言

JUnit5提供了多种断言来验证测试结果,例如:

​​assertEquals(expected, actual)​​:验证两个值是否相等。
​​assertNotEquals(expected, actual)​​:验证两个值是否不相等。
​​assertTrue(condition)​​:验证条件是否为真。
​​assertFalse(condition)​​:验证条件是否为假。
​​assertNull(object)​​:验证对象是否为空。
​​assertNotNull(object)​​:验证对象是否不为空。
​​assertThrows(expectedType, executable)​​:验证执行代码是否抛出了指定类型的异常。

2.2.3 参数化测试

JUnit5的参数化测试功能可以让我们使用不同的输入参数多次运行相同的测试方法。这个功能特别适合测试输入参数可能有多个值的情况,以此来确保代码的正确性。下面是JUnit5中使用参数化测试的步骤:

创建测试类:创建一个Java类,并使用​​@RunWith​​​注解标记测试类,然后使用​​@ParameterizedTest​​注解标记测试方法。文章来源地址https://www.toymoban.com/news/detail-754290.html

import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.

到了这里,关于如何在 Java 中使用JUnit5进行单元测试和自动化测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 单元测试junit(原始版本、Spring Boot各版本、junit5)使用介绍

    🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝 🍓 更多文章请点击 单元测试 junit各版本 使用介绍 官

    2023年04月16日
    浏览(35)
  • spring boot 单元测试JUnit5使用Mockito模拟Mock数据调用

    spring boot 单元测试JUnit5使用Mockito模拟Mock数据调用 好大一批新用法,大家静下心来好好看看吧 1. spring boot 使用 Mockito.when().thenReturn()模拟返回值 Mockito 是一种 Java mock 框架,他主要就是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean、模拟方法的返回值、模拟抛出异常…

    2024年02月15日
    浏览(41)
  • spring boot 单元测试JUnit5使用断言Assertions和假定Assumptions、嵌套、参数测试

    spring boot 单元测试JUnit5使用断言Assertions和假定Assumptions、嵌套、参数测试 本文基于spirng boot 2.7.11, 大家注意自己的版本 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库 SpringBoot 2.4 以上版本移除了默认对 Vintage 的依赖 源码地址:https://gitcode.net/qq_39339588/springboot.git 1.

    2024年02月11日
    浏览(39)
  • 单元测试框架——Junit5

    Junit是一个开源的用于Java语言的单元测试框架,也是Java方向使用最广泛的单元测试框架。 在pom.xml中引入Junit5相关依赖 @Test :表示一个方法/用例 BeforeEach :表示被注解的方法在其它所有方法执行前都要执行一遍,也就是说其它方法有3个它就要执行3遍 @BeforeAll :表示被注解的

    2024年02月11日
    浏览(37)
  • springboot项目使用Junit5 + mockito + jacoco 实现单元测试以及代码覆盖率检查

    在创建springboot项目时会默认添加spring-boot-starter-test依赖,其中已经包含了junit、mockito依赖,根据springboot版本的不同junit和mockito的版本也会有所不同 先说一下各自功能: junit只说一点,junt4和junit5的注解不同,使用方式略有差异,其他不赘述了,基本用法都懂。 mockito是mock的

    2023年04月23日
    浏览(43)
  • Junit5单元测试框架详解

    前面我们学习了Selenium自动化测试框架,但是有的时候测试用例会很多,我们需要一个工具来管理这些测试用例,而Junit就是一个很好的管理工具,简单点来说,Junit就是一个针对Java的单元测试框架; 目录 一. 关于Junit5 二. Junit使用 2.1 添加Maven依赖 2.2 注解 2.3 断言 2.4 套件

    2024年02月06日
    浏览(36)
  • JUnit5-单元测试操作详解

    JUnit 5是JUnit测试框架的下一个主要版本,用于编写和运行单元测试。 与以前版本的 JUnit 不同,JUnit 5 由来自三个不同子项目的多个不同模块组成。 JUnit 5 =  JUnit 平台 +  JUnit Jupiter  +  JUnit Vintage JUnit 平台 是在 JVM 上启动测试框架的基础。它还定义了 TestEngine 用于开发在平台

    2024年04月10日
    浏览(45)
  • Junit5+Mockito单元测试详解

    1.宏观层面:AIR原则 A:Automatic(自动化) 全自动执行,输出结果无需人工检查,而是通过断言验证。 I:Independent(独立性) 分层测试,各层之间不相互依赖。 R:Repeatable(可重复) 可重复执行,不受外部环境( 网络、服务、中间件等)影响。 2.微观层面:BCDE原则 B: Bord

    2024年01月17日
    浏览(37)
  • SpringBoot2---单元测试(Junit5)(1)

    org.junit.vintage junit-vintage-engine test org.hamcrest hamcrest-core org.springframework.boot spring-boot-starter-test test 现在版本: @SpringBootTest class Boot05WebAdminApplicationTests { @Test void contextLoads() { } } 以前: @SpringBootTest + @RunWith(SpringRunner.class) SpringBoot整合Junit以后。 编写测试方法:@Test标注(注意需要

    2024年04月29日
    浏览(35)
  • 13.Springboot整合junit5单元测试与生成单元测试覆盖率

    现在基本大公司都要求单元测试了,保证我们代码得质量,而我司更是要求覆盖率要达到60%以上,所以搞一下。 这里有两个方法: 1.使用maven自带得test,idea右侧maven模块执行项目下得test 2.使用cmd命令,在你的项目pom文件所在目录 ,打开cmd,执行如下: 结果如下:打开site文

    2024年02月16日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包