Junit 4.x 单元测试,参数化测试,套件测试 实例
对下面三个类进行单元测试 ,组成套件测试。
public class Calculate {public int add(int a, int b) {return a + b;}public int sub(int a, int b) {return a - b;} }
public class Car {public int getWheels() {return 4;} }
public class Rectangle{public int getArea(int width,int height){return width*height;} }
测试代码:建议把测试代码放在test源文件中
public class CalculateTest {Calculate calculate;@Beforepublic void setUp() throws Exception {calculate = new Calculate();}@Testpublic void testAdd() {int result = calculate.add(12, 12);assertEquals(24, result);}@Testpublic void testSub() {int result = calculate.sub(12, 12);assertEquals(0, result);}}
public class CarTest {Car car;@Beforepublic void setUp() throws Exception {car = new Car();}@Testpublic void testGetWheels() {int result = car.getWheels();assertEquals(4, result);}}
public class RectangleTest {Rectangle rectangle;@Beforepublic void setUp() throws Exception {rectangle=new Rectangle();}@Testpublic void testGetArea() {int result = rectangle.getArea(12, 2);assertEquals(24, result);} }
测试套件代码:
@RunWith(Suite.class) @SuiteClasses({ CalculateTest.class, CarTest.class, RectangleTest.class }) public class AllTests {}
请用下面的参数对Calculate类的add方法进行参数化的测试
{2,1,1},
{2,0,2},
{0,2,-2},
@RunWith(Parameterized.class) public class CalculateTest2 {Calculate calculate;private int input1;private int input2;private int expected;@Parameterspublic static Collection prepareData() {Object[][] object = { { -1, -2, -3 }, { 0, 2, 2 }, { -1, 1, 0 },{ 1, 2, 3 } };return Arrays.asList(object);}public CalculateTest2(int input1, int input2, int expected) {this.input1 = input1;this.input2 = input2;this.expected = expected;}@Beforepublic void setUp() throws Exception {calculate = new Calculate();}@Testpublic void testAdd() {int result = calculate.add(input1, input2);assertEquals(expected, result);} }
转载于:https://www.cnblogs.com/taoweiji/p/3327876.html
Junit 4.x 单元测试,参数化测试,套件测试 实例相关推荐
- 使用 CNF 测试套件测试云原生最佳实践
Joel Hans为CNCF撰写的社区帖子 电信行业是当今日益数字化的经济的支柱,但在发展以满足现代基础设施实践方面面临着艰巨的新挑战.电信是如何陷入这种境地的?由于事故或停机的风险非常严重,该行业几 ...
- 【Java单元测试】如何进行单元测试、异常测试、参数化测试、超时测试、测试多线程
Junit单元测试的步骤 (1)新建一个单元测试 (2)选择位置 (3)选择需要测试的方法 (4)是否将Junit 4添加到ClassPath中 (5)自动生成的测试类 (6) 然后就可以编写单元测试 ...
- 禅道测试套件怎么用_优质单元测试的十大标准,你有遵循吗?
优秀的测试套件可以让人在更改代码时感到安全,从而使工作更为轻松:糟糕的测试套件会让人痛苦不堪,且浪费大量时间.编写好的.可维护的单元测试存在着一些特定规则,可使单元测试质量更高.更具效率. 1.尽可能 ...
- Junit单元测试不支持多线程测试问题全解析
一.背景 今天@段段提出了一个很好的问题,她发现单元测试时如果开多个线程,主线程运行结束就结束了,并不会等待子线程结束. 如果用main方法就没问题,技术群里展开了激烈的讨论. 本文将"复现 ...
- 安卓CTS官方文档之兼容性测试套件简介
官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite 兼容性测试套件 Ho ...
- Spock测试套件入门
文章目录 Spock测试套件 核心概念 整体认识 前置.后置 同junit的类比 Feature 方法 blocks 典型的用法 异常condition then和expect的区别 cleanup ...
- Android JUnit测试说明和实例演示
什么是 JUnit ? JUnit是采用测试驱动开发的方式,也就是说在开发前先写好测试代码,主要用来说明被测试的代码会被如何使用,错误处理等:然后开始写代码,并在测试代码中逐步测试这些代码,直到最后在 ...
- JUnit3 一次运行多个测试类和进行多次重复测试:使用测试套件和RepeatedTest
测试套件 如果测试类写到很多,每次要进行测试,难道要重新点击每一个测试类来运行?如果有200个测试类要测试呢? 为了解决这个问题,引入了测试套件(TestSuite). 通过将多个测试放入套件中,一并 ...
- 《Unit Testing》1.4. 成功的测试套件拥有哪些属性?
什么造就了成功的测试套件 如果测量测试套件的质量? 唯一可行的办法就是对测试套件里每一个测试进行单独的评估. 你不需要一次性把它们都评估完. 你可以逐步的进行评估 成功的测试套件拥有以下属性: 集成到 ...
最新文章
- 平头哥玄铁处理器Linux新版本,5大亮点速览
- 关于Puppet不得不说的故事
- abb样本-感应电机与发电机手册_防爆电机如何选?
- 控制台调用win32 API 示例二则
- Hi3516A开发--/etc/passwd
- 足球 Floyd算法
- Linux下排查进程占用cpu高的问题
- c#多线程同步之EventWaitHandle使用
- linux 命令修改网络,linux网络命令学习
- 7-176 求n以内最大的k个素数以及它们的和 (20 分)
- web mysql数据库的持久连接_JavaWeb连接数据库MySQL的操作技巧
- python写入mysql乱码_python MYsql中文乱码
- 跑步呼吸方法(细胞分裂呼吸法)
- PHP Linux安装
- c语言任意位数逆序数,C语言求助!一个三位数的逆序数,总是编不对
- 收集异常,不会给用户弹出异常信息
- windows server2016忘记密码,windows重置密码,windows破解密码,win10忘记密码,win10破解密码,windows server2016破解密码
- matlab将矩阵分解成lu,MATLAB中矩阵LU分解
- win10用账户登录计算机,Win10没有改用本地账户登录选项的解决方案
- tkinter文本框小功能(6):锚点
热门文章
- 【ES6(2015)】Proxy
- 【Ant Design Vue】之Grid栅格和Space间距
- java io流_浅谈IO流(一)-流的基本概念以及java的常见流
- Qt文档阅读笔记-Object Model初步解析
- Maven工作笔记-jar包打入本地仓库并打包
- c语言设计匀速直线运动,C语言课程设计指导书2015版(试用版)201506.doc
- 北理工在线作业计算机的主要特点是( ),北理工18秋《计算机组成原理》在线作业【答案】...
- php里isset的属性,PHP魔术方法__isset()
- 数字图像处理:图像平均/加法_OPT小讲堂 ∣ SciSmart图像增强之二值化
- java字符串替换空格符_特殊的空格(Java无法替换字符串中的空格)转