当前位置: 首页 > news >正文

Java开发者测试:Junit5

Java开发者测试

实际代码编写中所用到的单元测试框架基本是Junit结合Mockito使用

Junit

spring自带的单元测试框架,涵盖了大部分功能

通过@Test注解即可直接生成测试用例

@Test
public void calTest(){Assert.assertEquals(junit.cal(1,2),3);
}

@BeforeAll
表明在所有测试方法执行之前执行的方法,且只执行一次

@AfterAll
表明在所有测试方法执行之后执行的方法,且只执行一次

@BeforeEach
表明在每个测试方法执行之前都会执行的方法

@AfterEach
表明在每个测试方法执行之后都会执行的方法

class JunitTest {private Junit junit = new Junit();@Testpublic void calTest(){Assert.assertEquals(junit.cal(1,2),3);System.out.println("exeuting...");}@BeforeEachpublic void beforeExe(){System.out.println("before executing...");}@AfterEachpublic void afterExe(){System.out.println("after executing...");}@BeforeEachpublic void beforeEachExe(){System.out.println("before each executing...");}@AfterEachpublic void afterEachExe(){System.out.println("after each executing...");}
}
//超过指定时间报错
@Timeout(value = n,unit = TimeUnit....)

在这里插入图片描述

断言

junit中最为关键的部分,用来验证测试代码的预期结果

assertEquals判断两个对象或两个原始类型是否相等assertNotEquals判断两个对象或两个原始类型是否不相等assertSame判断两个对象引用是否指向同一个对象assertNotSame判断两个对象引用是否指向不同的对象assertTrue判断给定的布尔值是否为 trueassertFalse判断给定的布尔值是否为 falseassertNull判断给定的对象引用是否为 nullassertNotNull判断给定的对象引用是否不为 null

异常校验

@Test
public void exceptionTest(){Assert.assertThrows("no exception",Exception.class,() -> {junit.divide(1,0);});System.out.println("exception");
}

前置条件

如果不满足条件无法继续

Assumptions.assumeTrue(条件);

参数化测试

@ParameterizedTest //定义参数化测试
@NullSource //允许参数为null
@EmptySource //允许参数集合为空
@ValueSource(类型 = {参数1,参数2}) //一个数组
测试方法...

http://www.mrgr.cn/news/45834.html

相关文章:

  • 系统架构设计师论文《论企业集成平台的理解与应用》精选试读
  • [Algorithm][贪心][整数替换][俄罗斯套娃信封问题]详细讲解
  • Day44【最短路+欧拉回路】
  • HeidiSQL 数据库密码如何恢复
  • 告别@Value,Spring Boot 3.3更优雅的配置注入方案
  • linux自动挂载tf卡
  • Spring系列 Bean创建过程
  • Kubernetes 深度探索:StatefulSet 之有状态应用实战
  • React Route v6. 如何防止用户导航到另一个页面
  • 数据结构-4.6.KMP算法(旧版下)-朴素模式匹配算法的优化
  • aws(学习笔记第四课) AWS的IAM服务,用于授权的策略,用户和组以及角色
  • docker compose入门5—创建一个3副本的应用
  • ◇【论文_20181020 v6】广义优势估计器 (generalized advantage estimator, GAE)
  • PicGo 配置 GitHub 作为后端存储,打造免费的图床工具
  • 知识改变命运 数据结构【java对象的比较】
  • Kubernetes 深度洞察:StatefulSet 之存储状态探秘
  • 多模态方法总结
  • 车辆重识别(2021NIPS无分类器扩散指南)论文阅读2024/10/08
  • 前端开发中的高级技巧与最佳实践
  • [Python学习日记-42] Python 中的生成器