使用JUnitParams简化Parameterized tests

为什么80%的码农都做不了架构师?>>>   hot3.png

junit4的Parameterized tests的使用方法太过费劲了,这里介绍下如何使用JUnitParams来简化Parameterized tests。

junit4原生的Parameterized tests实例

@RunWith(Parameterized.class)
public class FibonacciTest {@Parameterspublic static Collection<Object[]> data() {return Arrays.asList(new Object[][] {     { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 }  });}private int fInput;private int fExpected;public FibonacciTest(int input, int expected) {fInput= input;fExpected= expected;}@Testpublic void test() {assertEquals(fExpected, Fibonacci.compute(fInput));}
}

JUnitParams的使用

maven

<dependency><groupId>pl.pragmatists</groupId><artifactId>JUnitParams</artifactId><version>1.1.0</version><scope>test</scope>
</dependency>

实例

@RunWith(JUnitParamsRunner.class)
public class PersonTest {@Test@Parameters({"17, false", "22, true" })public void personIsAdult(int age, boolean valid) throws Exception {assertThat(new Person(age).isAdult(), is(valid));}}

junit5的更新

当然junit5也对Parameterized tests的使用进行简化,如下:

@ParameterizedTest
@EnumSource(value = TimeUnit.class, names = { "DAYS", "HOURS" })
void testWithEnumSourceInclude(TimeUnit timeUnit) {assertTrue(EnumSet.of(TimeUnit.DAYS, TimeUnit.HOURS).contains(timeUnit));
}

小结

如果还是使用junit5之前的版本,那么可以尝试使用JUnitParams来简化Parameterized tests。如果你已经使用junit5,那么恭喜你,可以不用额外引入JUnitParams就可以方便地进行Parameterized tests。

doc

  • parameterized-tests
  • JUnitParams
  • writing-tests-parameterized-tests

转载于:https://my.oschina.net/go4it/blog/1488501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无约束优化问题求解(4):牛顿法后续

目录 前言SR1, DFP, BFGS之间的关系 BB方法Reference 前言 Emm&#xff0c;由于上一篇笔记的字数超过了要求&#xff08;这还是第一次- -&#xff09;&#xff0c;就把后续内容放到这篇笔记里面了&#xff0c;公式的标号仍然不变&#xff0c;上一篇笔记的连接在这&#xff1a;…

【C语言简单说】七:自定义函数(1)

在最开始的说过&#xff0c;函数可以比喻工具箱&#xff0c;那么我们现在开始自己开始制作函数了&#xff0c;自己制作函数是很简单的&#xff0c;如下代码&#xff1a; #include<stdio.h> #include<stdlib.h> //头文件下面 void dy(){printf("这里是dy函数\…

哈夫曼编码算法 java_我所知道的算法之哈夫曼编码

上一篇文章中提到数据结构&#xff1a;哈夫曼树&#xff0c;今天接着学习由哈夫曼提出编码方式&#xff0c;一种程序算法。简称&#xff1a;哈夫曼编码一、什么是哈夫曼编码&#xff1f;与哈夫曼树一样&#xff0c;会不会有小伙伴对哈夫曼编码很陌生&#xff0c;有疑惑问题疑惑…

Windows之Wireshake之抓HTTP请求包(过滤目的IP)

1 问题 用Wireshake抓取HTTP请求包 2 解决办法 直接在在WireShare里面过滤条件输入http 然后在浏览器输入http的请求,我的效果如下 看吧,都是http请求 如果数据太多,我只需要过滤一个目的的ip,我们可以这样设置参数 ip.addr == 目的ip && http 如下图 然后我输…

html使用element ui_Kendo UI for jQuery使用教程:自定义小部件(二)

Kendo UI目前最新提供KendoUI for jQuery、KendoUI for Angular、KendoUI Support for React和KendoUI Support for Vue四个控件。Kendo UI for jQuery是创建现代Web应用程序的完整UI库。Kendo UI通过继承基本窗口小部件类为您提供创建自定义窗口小部件的选项。处理事件1. 将更…

ASP.NET MVC 个人学习笔记之 Controller传值

2019独角兽企业重金招聘Python工程师标准>>> //ControllerViewBag.Message "Modify this template to jump-start your ASP.NET MVC application."; // View<section class"featured"><div class"content-wrapper"><…

Dapr 和 Spring Cloud 对比分析

很多人都是使用SpringBoot 和 Spring Cloud来开发微服务。Dapr 也是开发微服务的框架&#xff0c;它和Spring Cloud有什么区别呢&#xff0c;其实这不是一个区别的问题&#xff0c;它是不同的时代需要不同的框架。Spring Cloud 是一种产品&#xff0c;提供了分布式应用程序所需…

【C语言简单说】七:自定义函数(2)

刚刚说了如何自定义函数。那只是最简单的形式&#xff0c;那我们现在开始来说函数的返回值。我们先贴上之前的代码&#xff1a; #include<stdio.h> #include<stdlib.h> //头文件下面 void dy(){printf("这里是dy函数\n");} //main函数上面 int main() …

jdk源码分析书籍 pdf_什么?Spring5 AOP 默认使用Cglib?从现象到源码深度分析

推荐阅读&#xff1a;阿里工作十年拿下P8&#xff0c;多亏了这些PDF陪我成长&#xff08;Spring全家桶源码解析Redis实战等&#xff09;​zhuanlan.zhihu.com从入门到熟悉&#xff0c;一步一步带你了解 MySQL 中的「索引」和「锁」​zhuanlan.zhihu.comSpring5 AOP 默认使用 Cg…

Nginx monitor

为什么80%的码农都做不了架构师&#xff1f;>>> 最近在初步研究了一下nginx的监控&#xff0c;主要是想监控一些和业务相关的信息&#xff0c;发现能用的方案不多&#xff0c;主要有如下&#xff1a; 1 监控解析nginx log&#xff1a;ngxtop 官方的解释是可以…

ASP.NET 6 中间件系列 - 执行顺序

这篇文章是 ASP.NET 6 中间件系列文章的第 3 部分&#xff0c;你还可以阅读第1部分和第2部分。我们通过中间件创建的管道是有执行顺序的&#xff0c;执行顺序与中间件的添加顺序是相同的&#xff0c;接下来我们讨论一下为什么要有执行顺序&#xff0c;以及它的重要性。示例项目…

OSChina 周四乱弹 ——程序员怎么撩外国妹子攻略

2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单&#xff08;2017&#xff09;请戳&#xff08;这里&#xff09; 【今日歌曲】 冬天之雪 &#xff1a;听歌听到苏菲玛索和刘欢演唱《玫瑰人生》。有网友评论&#xff1a;法语专业的刘欢老师等的就是这一刻。…

【C语言简单说】七:自定义函数(3)

前一节说了返回值的内容&#xff0c;那么这一节就说一下参数的内容 手打码了几章内容了。。。。困。&#xff3e;(&#xffe3;&#xff09;&#xffe3;)《(&#xffe3;&#xff09;&#xffe3;)&#xff3e;困.困.困. 相比看过前一节的知道我说自定义函数如果你要做一个运…

WireShare抓包在ssl协议里面提示(Level: Fatal, Description: Protocol Version)

1 问题 在后台访问部分链接的时候抓包&#xff0c;客户端发了client hello包&#xff0c;但是没有收到Server hello包&#xff0c; 提示&#xff1a;Alert(Level: Fatal, Description: Handshake Failure ) 包文如下 2 解决办法 是因为客户端的ssl协议版本和链接地址环境ss…

对于 APM 用户的一次真实调查分析(下)

一.前言 对 APM 用户的一次真实调查分析&#xff08;上&#xff09;中&#xff0c;我们主要聊到了现阶段国外 APM 行业对各个企业的渗透率、大部分使用 APM 工具的企业规模以及 APM 工具在用户心中的地位等问题&#xff0c;有兴趣的朋友可以点击链接观看。 我们本次继续顺着这个…

linux cpu核数查看_Linux日常必备的 8 个小技能

身为一个码农&#xff0c;日常工作中与我们打交道次数较多的操作系统除了Windows和Mac OS 之外&#xff0c;还有一个就是 Linux。今天偶尔有空翻越了之前码代码时期汇总的一些小技巧发现挺实用的&#xff0c;故分享给大家&#xff0c;希望能对大伙有一定的帮助。1. 如何查看系统…

NotificationManagerService使用详解与原理分析(一)

概况 Android在4.3的版本中(即API 18)加入了NotificationListenerService&#xff0c;根据SDK的描述(AndroidDeveloper)可以知道&#xff0c;当系统收到新的通知或者通知被删除时&#xff0c;会触发NotificationListenerService的回调方法。同时在Android 4.4 中新增了Notifica…

【C语言简单说】八:分支结构之if(1)

今天貌似更了很多章了&#xff0c;现在感觉累觉不爱。。。 ┐(—__—)┌ 你说我有啥米办法咧~&#xff08;要不叫别人替我更一下&#xff1f;&#xff09; 继续更。。。 这一节我们来说一下if语句&#xff1b;这个东西可是很常用的呀&#xff1b;在此之前我们来举个例子&…

ASP.NET 6 中间件系列 - 自定义中间件类

这篇文章是 ASP.NET 6 中间件系列文章的第2部分&#xff0c;点击这里可以阅读第1部分。在上一篇文章中&#xff0c;我们讨论了什么是中间件&#xff0c;它的作用是什么&#xff0c;以及在 ASP.NET 6 应用管道中添加中间件的简单方法。在这篇文章中&#xff0c;我们将在这些基础…

如何在IE浏览器里面定位到关键字的位置(页面代码)和这个关键字位置模块的请求

1 问题 比如用IE浏览器,打开一个页面,如何定位到关键字的具体位置,以及这个位置请求是什么?可能这个请求不是主页面的请求,因为我们知道页面html里面可以嵌套很多Frame(框架),把页面分割成很多块,然而每个Frame(框架)里面可以再嵌套一个url,有时候我们需要找到这个请求…