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

Java三方库-单元测试

文章目录

  • Junit
    • 注解
    • 常用类
    • 无参数单测
    • 带参数的单测

Junit

主要版本有4和5版本,注解不太一样, 4迁移5参考官方文档

主要记录下常用的一些操作

其他复杂操作见官网

https://junit.org/junit5/docs/current/user-guide/#overview-java-versions

引入5.9.3版本依赖<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.9.3</version><scope>test</scope></dependency>

test包下使用

注解

@BeforeAll只执行一遍,在一个类里所有方法执行前执行
@AfterAll只执行一遍,在一个类里所有方法执行后执行
@BeforeEach每个方法执行前执行
@AfterEach每个方法执行后执行
@Test适用无返回值,无参数的方法,标记为单测
@Disabled标识该方法不执行
@DisplayName标识该单测方法别名
@Order指定执行顺序
@Nested放在类上,用来在一个测试类里嵌套测试类时使用
@RepeatedTest()放在方法上,指定执行次数
@ParameterizedTest指定带参数的方法
@ValueSource和上面配合使用
@Timeout指定超时时间

常用类

Assertions类   单纯判断结果是否符合预期
Assumptions类  可以指定抛出信息

无参数单测

class StandardTests {@BeforeAllstatic void initAll() {}@BeforeEachvoid init() {}@Testvoid succeedingTest() {}@Testvoid failingTest() {fail("a failing test");}@Test@Disabled("for demonstration purposes")void skippedTest() {// not executed}@Testvoid abortedTest() {assumeTrue("abc".contains("Z"));fail("test should have been aborted");}@AfterEachvoid tearDown() {}@AfterAllstatic void tearDownAll() {}}

带参数的单测

1.基本参数类型

@ParameterizedTest
@ValueSource(strings = { "racecar", "radar", "able was I ere I saw elba" })
void palindromes(String candidate) {assertTrue(StringUtils.isPalindrome(candidate));
}

2.方法入参

@ParameterizedTest
@MethodSource("stringProvider")
void testWithExplicitLocalMethodSource(String argument) {assertNotNull(argument);
}static Stream<String> stringProvider() {return Stream.of("apple", "banana");
}
http://www.lryc.cn/news/387056.html

相关文章:

  • p2p、分布式,区块链笔记: libp2p基础
  • 企业本地大模型用Ollama+Open WebUI+Stable Diffusion可视化问答及画图
  • Unity学习笔记---调试
  • Py之dashscope:dashscope的简介、安装和使用方法、案例应用之详细攻略
  • Go使用Gin框架开发的Web程序部署在Linux时,无法绑定监听Ipv4端口
  • 【图解大数据技术】Hadoop、HDFS、MapReduce、Yarn
  • AGPT•intelligence:带你领略全新量化交易的风采
  • HarmonyOS Next开发学习手册——创建轮播 (Swiper)
  • 【计算机视觉】mmcv库详细介绍
  • 【面试系列】Go 语言高频面试题
  • React 扩展
  • IT入门知识第八部分《云计算》(8/10)
  • Linux-笔记 全志T113移植正点4.3寸RGB屏幕笔记
  • Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令
  • 在Android中使用ProgressBar显示进度
  • Java基础面试题(简单版):
  • ​Chrome插件:Postman Interceptor 调试的终极利器
  • SpringBoot学习04-[定制SpringMVC]
  • QT拖放事件之六:自定义MIME类型的存储及读取demo
  • 架构师必知的绝活-JVM调优
  • 小米平板6系列对比
  • 用 Rust 实现一个替代 WebSocket 的协议
  • 【docker】2. 编排容器技术发展史(了解)
  • 吉利银河L6(官方小订送的3M) 对比 威固vk70+ks15
  • three.js实现雪花场景效果
  • 鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一
  • Elasticsearch优化索引映射和设置
  • boss直聘招聘数据可视化分析
  • 小程序人脸分析
  • UML建模笔记