对下面三个类进行单元测试 ,组成套件测试。

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 单元测试,参数化测试,套件测试 实例相关推荐

  1. 使用 CNF 测试套件测试云原生最佳实践

    Joel Hans为CNCF撰写的社区帖子 电信行业是当今日益数字化的经济的支柱,但在发展以满足现代基础设施实践方面面临着艰巨的新挑战.电信是如何陷入这种境地的?由于事故或停机的风险非常严重,该行业几 ...

  2. 【Java单元测试】如何进行单元测试、异常测试、参数化测试、超时测试、测试多线程

    Junit单元测试的步骤 (1)新建一个单元测试 (2)选择位置 (3)选择需要测试的方法 (4)是否将Junit 4添加到ClassPath中 (5)自动生成的测试类 (6) 然后就可以编写单元测试 ...

  3. 禅道测试套件怎么用_优质单元测试的十大标准,你有遵循吗?

    优秀的测试套件可以让人在更改代码时感到安全,从而使工作更为轻松:糟糕的测试套件会让人痛苦不堪,且浪费大量时间.编写好的.可维护的单元测试存在着一些特定规则,可使单元测试质量更高.更具效率. 1.尽可能 ...

  4. Junit单元测试不支持多线程测试问题全解析

    一.背景 今天@段段提出了一个很好的问题,她发现单元测试时如果开多个线程,主线程运行结束就结束了,并不会等待子线程结束. 如果用main方法就没问题,技术群里展开了激烈的讨论. 本文将"复现 ...

  5. 安卓CTS官方文档之兼容性测试套件简介

    官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite 兼容性测试套件 Ho ...

  6. Spock测试套件入门

    文章目录 Spock测试套件 核心概念 整体认识 前置.后置 同junit的类比 Feature 方法 blocks 典型的用法 异常condition then和expect的区别 cleanup ...

  7. Android JUnit测试说明和实例演示

    什么是 JUnit ? JUnit是采用测试驱动开发的方式,也就是说在开发前先写好测试代码,主要用来说明被测试的代码会被如何使用,错误处理等:然后开始写代码,并在测试代码中逐步测试这些代码,直到最后在 ...

  8. JUnit3 一次运行多个测试类和进行多次重复测试:使用测试套件和RepeatedTest

    测试套件 如果测试类写到很多,每次要进行测试,难道要重新点击每一个测试类来运行?如果有200个测试类要测试呢? 为了解决这个问题,引入了测试套件(TestSuite). 通过将多个测试放入套件中,一并 ...

  9. 《Unit Testing》1.4. 成功的测试套件拥有哪些属性?

    什么造就了成功的测试套件 如果测量测试套件的质量? 唯一可行的办法就是对测试套件里每一个测试进行单独的评估. 你不需要一次性把它们都评估完. 你可以逐步的进行评估 成功的测试套件拥有以下属性: 集成到 ...

最新文章

  1. 平头哥玄铁处理器Linux新版本,5大亮点速览
  2. 关于Puppet不得不说的故事
  3. abb样本-感应电机与发电机手册_防爆电机如何选?
  4. 控制台调用win32 API 示例二则
  5. Hi3516A开发--/etc/passwd
  6. 足球 Floyd算法
  7. Linux下排查进程占用cpu高的问题
  8. c#多线程同步之EventWaitHandle使用
  9. linux 命令修改网络,linux网络命令学习
  10. 7-176 求n以内最大的k个素数以及它们的和 (20 分)
  11. web mysql数据库的持久连接_JavaWeb连接数据库MySQL的操作技巧
  12. python写入mysql乱码_python MYsql中文乱码
  13. 跑步呼吸方法(细胞分裂呼吸法)
  14. PHP Linux安装
  15. c语言任意位数逆序数,C语言求助!一个三位数的逆序数,总是编不对
  16. 收集异常,不会给用户弹出异常信息
  17. windows server2016忘记密码,windows重置密码,windows破解密码,win10忘记密码,win10破解密码,windows server2016破解密码
  18. matlab将矩阵分解成lu,MATLAB中矩阵LU分解
  19. win10用账户登录计算机,Win10没有改用本地账户登录选项的解决方案
  20. tkinter文本框小功能(6):锚点

热门文章

  1. 【ES6(2015)】Proxy
  2. 【Ant Design Vue】之Grid栅格和Space间距
  3. java io流_浅谈IO流(一)-流的基本概念以及java的常见流
  4. Qt文档阅读笔记-Object Model初步解析
  5. Maven工作笔记-jar包打入本地仓库并打包
  6. c语言设计匀速直线运动,C语言课程设计指导书2015版(试用版)201506.doc
  7. 北理工在线作业计算机的主要特点是( ),北理工18秋《计算机组成原理》在线作业【答案】...
  8. php里isset的属性,PHP魔术方法__isset()
  9. 数字图像处理:图像平均/加法_OPT小讲堂 ∣ SciSmart图像增强之二值化
  10. java字符串替换空格符_特殊的空格(Java无法替换字符串中的空格)转