参数化测试 junit_参数化的JUnit测试

参数化测试 junit

有时,您会遇到一个问题,就是尖叫使用“参数化”测试,而不是多次复制/粘贴相同的方法。 测试方法基本上是相同的,唯一改变的是传入的数据。在这种情况下,请考虑创建一个利用JUnit中的“ Parameterized ”类的测试用例。

我最近遇到了一个问题,其中我们对电子邮件地址的验证不允许unicode字符。 解决方法非常简单,更改正则表达式以允许这些字符。 接下来,该测试更改了。 我决定不对每组数据复制/粘贴单独的方法,而是决定学习Parameterized方法。 结果如下。 数据包括预期结果和要验证的电子邮件地址。

JUnit测试类

package com.mycompany.client;import static org.junit.Assert.*;import java.util.Arrays;import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;import com.mycompany.test.TestServiceUtil;/*** Parameterized test case for validating email addresses against a regular expression.* We need to allow unicode characters in the userid portion of the email address, so * these test cases where created to help validate the validateEmailAddress method* in the FieldValidationController class.* * @author mmiller**/
@RunWith(Parameterized.class)
public class TestFieldValiationController {@Parameters(name = "{index}: {1} is valid email address = {0}")public static Iterable<Object> data() {return Arrays.asList(new Object[][] { { true, "john@mycomp.com" },           { true,  "john123@mycomp.com" },{ true, "j+._%20_-brown@mycomp.com" }, { true,  "123@mycomp.com" },{ false, "john brown@mycomp.com" },    { false, "123@mycomp" },{ false, "john^brown@mycomp.com" },    { true , "1john@mycomp.com" },{ false, "john#brown@mycomp.com" },    { false, "john!brown@mycomp.com" },{ false, "john()brown@mycomp.com" },   { false, "john=brown@mycomp.com" },{ true,  "johñ.brown@mycomp.com" },    { false, "john.brown@mycomp.coñ" },{ true,  "johú@mycomp.com" },          { true,  "johíáó@mycomp.com" }});}private boolean expected;private String emailAddress;public TestFieldValiationController(boolean expected, String emailAddress) {this.expected = expected;this.emailAddress = emailAddress;TestServiceUtil.getInstance();}@Testpublic void validateEmail() {assertEquals(expected, FieldValidationController.getInstance().validateEmailAddress(emailAddress));}
}

希望这可以帮助!

参考: Scratching我的编程itch博客上的JCG合作伙伴 Mike Miller提供的参数化JUnit测试 。

翻译自: https://www.javacodegeeks.com/2014/03/parameterized-junit-tests.html

参数化测试 junit

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

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

相关文章

NB-IoT在智慧烟感解决方案中的应用

火灾无疑是人员安全和公共财产的最大威胁之一&#xff0c;近年来独立烟感越来越多&#xff0c;但由于独立烟感产品功能单一&#xff0c;只能发出声光报警&#xff0c;存在一定局限性。随着全国NB-IOT技术的成熟&#xff0c;新的智慧烟感解决方案呼之欲出。 传统独立烟感的缺点 …

【渝粤教育】 广东开放大学21秋期末考试基础会计10258k2

单项选择题 1、清查范围广&#xff0c;内容多&#xff0c;花费的时间长是&#xff08;&#xff09;的特点。 &#xff08;2 分&#xff09; A&#xff0e;局部清查 B&#xff0e;全面清查 C&#xff0e;不定期清查 D&#xff0e;定期清查 2、在实际工作中&#xff0c;可能会因…

【Mybatis】

mybatis 1.配置文件实现增删改查介绍1.1第一步 环境准备1.2 第二步 查询所有数据1.2.1 步骤1&#xff1a; 编写接口方法1.2.2步骤二&#xff1a; 编写SQL语句1.2.3步骤三&#xff1a; 编写测试方法1.2.4 起别名解决上述问题1.2.5 使用resultMap解决上述问题 1.3 参数占位符1.4 …

盘点物联网的4个认知误区

误区一 把传感网或RFID网等同于物联网。事实上传感技术也好、RFID技术也好&#xff0c;都仅仅是信息采集技术之一。除传感技术和RFID技术外&#xff0c;GPS、视频识别、红外、激光、扫描等所有能够实现自动识别与物物通信的技术都可以成为物联网的信息采集技术。传感网或者RFI…

工业交换机安全性能的必要性

22%的客户认为认为在选购工业以太网交换机等产品和解决方案时&#xff0c;最关心的就是安全性&#xff0c;其次是稳定性(21%)、速度(14%)和兼容性(12%)。接下来&#xff0c;飞畅科技的小编就来为大家详细介绍下工业交换机安全性能的必要性&#xff0c;一起来看看吧&#xff01;…

【渝粤教育】国家开放大学2018年春季 0014-21T秘书学(一) 参考试题

试卷编号&#xff1a;0014 座位号 2017-2018学年度第二学期期末考试 秘书学&#xff08;一&#xff09; 试 题 2018年7月 1&#xff0e;秘书活动2. 行业秘书3. 秘书办公手段4. 国家秘密1&#xff0e;商务谈判的基本要素是&#xff08; &#xff09; A&#xff0e;商务谈判的主…

京津冀计算机学科大学排名,2021年京津冀地区高校排名公布,北师排第三,央财不敌河大?...

在我国的京津冀地区一直以来经济相对繁荣&#xff0c;而且城市密集&#xff0c;不管是经济发展还是高等教育都有非常雄厚的实力。据数据统计&#xff0c;在去年京津冀地区经济总量8.60,000亿&#xff0c;而且人口达到1.1亿&#xff0c;并且该地区高等院校相对集中&#xff0c;这…

【渝粤教育】国家开放大学2018年春季 0275-22T内科护理学 参考试题

编号&#xff1a;0275 座位号 2017-2018学年度第2学期期末考试 内科护理学试题 2018年6月 一、名词解释 &#xff08;2小题&#xff0c;每题10分&#xff0c;共20分&#xff09; 1.肺性脑病&#xff1a; 2.休克&#xff1a; 内科护理学试题第1页共4页 二、填空 &#xff08…

物联网设备的互操作性问题探讨

通常&#xff0c;物联网系统或物联网传感器通信网络使用诸如Zigbee、蓝牙、Z-wave、WiFi等流行标准技术来设计&#xff0c;以使设备间可以相互通信、协作。目前物联网的挑战之一是在现有网络中添加新的设备&#xff0c;因为现有网络与新设备具有不同的通信协议。 因此&#xff…

Spring核心注释

介绍&#xff1a; org.springframework.beans.factory.annotation和org.springframework.context.annotation包中存在的Spring注释通常称为Spring Core注释。 我们可以将它们分为两大类&#xff1a;DI相关的注释和上下文配置注释&#xff1a; 在本教程中&#xff0c;我们将探索…

【渝粤教育】国家开放大学2018年春季 0599-22T工程造价管理基础理论与相关法规 参考试题

科目编号&#xff1a;0599 座位号 2017-2018学年度第二学期期末考试 工程造价管理基础理论与相关法规 试题 2018年 7 月 一、单选题&#xff08;本大题共10小题&#xff0c;每小题4分&#xff0c;共计40分&#xff09; &#xff08;★请考生务必将答案填入到下面对应序号的答题…

LoRaWAN的四大优势及适用领域

如今随着通信技术发展迅速&#xff0c;通信行业即将迈入5G时代。数据传输将会更为密集&#xff0c;数据的交换量也将会越来越庞大。尤其是针对M2M通讯&#xff0c;由于设备的部署范围通常更宽广&#xff0c;且无线设备必须避免频繁更换电池&#xff0c;LoRaWAN技术便就此诞生&a…

工业交换机单纤或双纤都只是占用一个端口吗?

相信很多朋友在购买工业交换机的时候&#xff0c;都会考虑使用现场的传输距离&#xff0c;然后再选择单模还是多模&#xff0c;是单纤还是双纤&#xff0c;那么&#xff0c;这个是占用一个端口的吗&#xff1f;接下来我们就跟随飞畅科技的小编一起来详细了解下吧&#xff01; …

【渝粤教育】国家开放大学2018年春季 7218-21T医学伦理学(本) 参考试题

编号&#xff1a;7218 座位号 2017-2018年第二学期期末考试 医学伦理学&#xff08;本&#xff09;试题 2018年7月 一、单选题&#xff08;每题只有一个正确答案&#xff0c;每题3分&#xff0c;共计30分&#xff09; 1.医学人道主义最根本的思想是( ) A&#xff0e;尊重患者平…

物联网的十大应用场景,带你认识真正的物联网通讯技术

如今&#xff0c;“万物互联”不只是一种愿景&#xff0c;在很多实际的应用场景里面&#xff0c;已经实现了局部的物联网&#xff0c;如工业自动化、智慧农业、智能公交、高端酒店等场所。物联网是未来十年最具有市场前景的领域&#xff0c;相关的无线通讯技术也逐步出现。 在…

【渝粤教育】国家开放大学2018年春季 8256-21T药物治疗学 参考试题

试卷代号&#xff1a;8256 座位号 2017-2018学年度第二学期期末考试 药物治疗学试题 2018年5月 一、填空题&#xff08;每空1分&#xff0c;共20分&#xff09; 药物经济学的两大要素是______________和______________。抑郁症目前提倡______________和 ______________相结合…

计算机静音图标无法更改怎么办,声音图标没了不要着急,用金山毒霸2011进行修复 - 金山安全专题 - 声音图标没了怎么办? - 安全专题...

声音图标没了是怎么回事儿?金山工程师最近发现较多的用户在论坛提问“电脑声音图标没了&#xff0c;任务栏没声音了”等等&#xff0c;检查发现这些电脑上托盘区音量图标消失&#xff0c;无法调整音量。控制面板里与音量、声卡调整相关的设置变灰&#xff0c;不可修改。请使用…

常见的无线传感器数据采集传输系统的三种组网

无线传感器数据采集传输系统&#xff0c;可以实现对温度&#xff0c;压力&#xff0c;气体&#xff0c;温湿度&#xff0c;液位&#xff0c;流量&#xff0c;光照&#xff0c;降雨量&#xff0c;振动&#xff0c;转速等数据参数的实时采集&#xff0c;无线传输&#xff0c;无线…

工业交换机和商用交换机对比

工业交换机是为了满足工业应用需求而专门设计的交换机&#xff0c;因为工业环境较为恶劣&#xff0c;且需要的性能也要比一般的交换机高。所以工业交换机要比商用交换机要的性能要稳定&#xff0c;需要耐受严苛的工作环境。工业交换机产品采用宽温设计&#xff0c;防护等级不低…

【渝粤教育】国家开放大学2018年春季 8635-22T老年人中医体质辨识与养 参考试题

科目编号&#xff1a;8635 座位号 2016-2017学年度第二学期期末考试 老年人中医体质辩识与养生保健试题 2017年6月 一、名词解释&#xff08;本大题共5小题&#xff0c;每小题4分&#xff0c;共计20分&#xff09; 1.中医体质 2.刮痧疗法 3.平和体质 4.血瘀体质 5.特禀体质…