使用JUnit 5 执行条件和并发测试
JUnit 和Spring 5:Spring 5 全面接纳了函数式范例,并支持JUnit 5 及其新的函数式测试风格。还提供了对JUnit 4 的向后兼容性,以确保不会破坏旧代码。
Spring 5 的测试套件通过多种方式得到了增强,但最明显的是它对JUnit 5 的支持。现在可以在您的单元测试中利用Java 8 中提供的函数式编程特性。以下代码演示了这一支持:
JUnit 5 全面接纳了Java 8 流和lambda 表达式
@Test
void givenStreamOfInts_SumShouldBeMoreThanFive() {assertTrue(Stream.of(20, 40, 50).stream().mapToInt(i -> i).sum() > 110, () -> "Total should be more than 100");
}
迁移到JUnit 5:如果您对升级到JUnit 5 持观望态度,Steve Perry 的分两部分的深入剖析教程将说服您冒险尝试。
Spring 5 继承了JUnit 5 在Spring TestContext Framework 内实现多个扩展API 的灵活性。举例而言,开发人员可以使用JUnit 5 的条件测试执行注解@EnabledIf 和@DisabledIf 来自动计算一个SpEL (Spring Expression Language) 表达式,并适当地启用或禁用测试。借助这些注解,Spring 5支持以前很难实现的复杂的条件测试方案。Spring TextContext Framework 现在能够并发执行测试。
使用Spring WebFlux 执行集成测试
Spring Test 现在包含一个WebTestClient,后者支持对Spring WebFlux 服务器端点执行集成测试。WebTestClient 使用模拟请求和响应来避免耗尽服务器资源,并能直接绑定到WebFlux 服务器基础架构。
WebTestClient 可绑定到真实的服务器,或者使用控制器或函数。在下面的代码中,WebTestClient 被绑定到localhost:
绑定到localhost 的WebTestClient
WebTestClient testClient = WebTestClient.bindToServer().baseUrl("http://localhost:8080").build();
将WebTestClient 绑定到RouterFunction
RouterFunction bookRouter = RouterFunctions.route(RequestPredicates.GET("/books"),request -> ServerResponse.ok().build()
);
WebTestClient.bindToRouterFunction(bookRouter).build().get().uri("/books").exchange().expectStatus().isOk().expectBody().isEmpty();
使用JUnit 5 执行条件和并发测试相关推荐
- 使用junit进行多线程并发测试
没使用过junit的,请看上篇博客. 这篇讲一下如何使用junit进行多线程并发测试 ~ 实际上junit是不支持多线程的,你可以试试,在test方法里面new个 Thread ~ 会报错 ~ 那你会 ...
- springboot集成Junit在执行测试类的时候提示Failed to resolve异常
项目场景:springboot集成Junit在执行测试类的时候提示Failed to resolve异常 项目场景:springboot版本2.5.7,Junit版本:4.13.2,在执行测试类的时候 ...
- 并发测试mysql_Jmeter性能测试系列——结果分析与报告输出
场景运行结束后,需针对测试结果进行性能分析.通常而言,Jmeter性能测试结果分析可从性能测试指标达成方面着手,然后再分析测试过程中出现的异常情况,逐一判断是否存在性能风险. 1.用户登陆并发测试结果 ...
- web应用程序并发测试_测试并发应用
web应用程序并发测试 本文是我们名为Java Concurrency Essentials的学院课程的一部分. 在本课程中,您将深入探讨并发的魔力. 将向您介绍并发和并发代码的基础知识,并学习诸如原 ...
- MySQL不同隔离级别并发测试分析
MySQL不同隔离级别并发测试分析 背景 事务 基于锁的并发控制 MVCC 测试方法 用例与分析 测试结果 用例分析 总结 背景 事务 事务是数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列 ...
- Jmeter并发测试 - 设置集合点
场景:要压1000个用户针对于某个接口并发情况,当然这只是个小量并发,有以下两种方案 1)考虑线程组设置1000,用户思考时间ramp-up设为0 2)考虑添加个集合点,集合达到的线程数设置为1000 ...
- 并发测试神器,模拟一次超过 5 万的并发用户
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:blazemeter | 来源:t.cn/ES7 ...
- 使用Jenkins自动远程调用压测机实现不同用户场景下的并发测试
需求分析: 性能测试过程中,由于环境的不足,或者项目需求,需要在凌晨才能执行性能测试,这样就需要实现自动执行性能测试场景,并且能实现多次执行不同用户并发.并且自动生成结果 本文就介绍如何使用jenki ...
- apache并发测试工具ab为什么测不准
apache并发测试工具ab为什么测不准 发表于2年前(2013-03-21 12:13) 阅读(1146) | 评论(1) 1人收藏此文章, 我要收藏 赞0 3月21日 深圳 OSC 源创会正在 ...
最新文章
- 春节将至 香港推广“绿色年宵”呼吁惜物减废
- Linux虚拟内存与线性地址翻译
- JavaScript 实现数组的foreach
- 高内聚、低耦合的理解
- jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能
- Openshift源中的高可用性Drools无状态服务
- ADO.NET数据集添加虚拟字段
- 山东大学2020计算机考研学硕,2020山东大学考研学硕复试分数线
- LayaAir Graphics.drawTexture 显示与切换图片
- java json 乱码问题_java中json传输数据乱码问题
- c语言getch常见错误,getch()出错
- 用uniapp开发打包多端应用完整指南
- 什么是反射 (Reflection)?可以用它做什么?
- MAX813/MAX813L看门狗电路理解
- 【利用Nginx实现白名单功能】
- STM32F407修改程序将外部25M晶振修改为8M(标准库、HAL库)
- 红与黑 vs 漂亮朋友 同一个梦想,不同的命运
- chrome performance性能检测面板
- EPLAN教程 | 易盼软件钻孔排列样式
- OriginLab OriginPro 2017/2018 b9.5 中文多语言 视频教程
热门文章
- jQuery使用(十五):when()方法的使用
- 前端可视化编程:liveReload安装,sublime 3
- input的表单验证(不断更新中~~)
- Spring 框架 详解 (四)------IOC装配Bean(注解方式)
- AX宏Macros运算
- 从零开始学习C# 2
- CYQ.Data 轻量数据层之路 使用篇-MAction 取值赋值 视频[带音乐] F (二十四)
- 读excel文件至DataTable
- c#转换成vbnet 工具 (源代码)
- jenkins简单部署