博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Junit 4.x 单元测试,参数化测试,套件测试 实例
阅读量:5751 次
发布时间:2019-06-18

本文共 2182 字,大约阅读时间需要 7 分钟。

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

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;    @Before    public void setUp() throws Exception {        calculate = new Calculate();    }    @Test    public void testAdd() {        int result = calculate.add(12, 12);        assertEquals(24, result);    }    @Test    public void testSub() {        int result = calculate.sub(12, 12);        assertEquals(0, result);    }}
public class CarTest {    Car car;    @Before    public void setUp() throws Exception {        car = new Car();    }    @Test    public void testGetWheels() {        int result = car.getWheels();        assertEquals(4, result);    }}
public class RectangleTest {    Rectangle rectangle;    @Before    public void setUp() throws Exception {        rectangle=new Rectangle();    }    @Test    public 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;    @Parameters    public 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;    }    @Before    public void setUp() throws Exception {        calculate = new Calculate();    }    @Test    public void testAdd() {        int result = calculate.add(input1, input2);        assertEquals(expected, result);    }}

 

转载地址:http://dgzkx.baihongyu.com/

你可能感兴趣的文章
LeetCode2_Evaluate Reverse Polish Notation评估逆波兰表达式(栈)
查看>>
文献综述二:UML技术在行业资源平台系统建模中的应用
查看>>
阿里云服务器 linux下载 jdk
查看>>
Swift 学习 用 swift 调用 oc
查看>>
第三章 Python 的容器: 列表、元组、字典与集合
查看>>
微信小程序开发 -- 点击右上角实现转发功能
查看>>
问题解决-Failed to resolve: com.android.support.constraint:constraint-layout:1.0.0-alpha7
查看>>
与MS Project相关的两个项目
查看>>
[转载]ASP.NET MVC Music Store教程(1):概述和新项目
查看>>
使用 SharpSvn 执行 svn 操作的Demo
查看>>
js函数大全
查看>>
刷题笔记
查看>>
iOS app exception的解决方案
查看>>
Mongodb启动命令mongod参数说明
查看>>
TCP&UDP压力测试工具
查看>>
oracle 导入数据
查看>>
首个5G智慧机场落地广州 速度是4G的50倍
查看>>
Android 最简单的自定义Dialog之一
查看>>
磨刀不误砍柴 - 配置适合工作学习的桌面环境
查看>>
自己动手写docker-3
查看>>