使用Junit做参数化测试

本文介绍了如何使用Junit进行参数化测试,以减少在编写单元测试时针对不同边界值重复写多个测试用例的需求。通过创建一个带有Parameterized测试运行器的测试类,配合公共静态的参数数据方法,可以实现批量构建测试参数,实现全面的测试覆盖。需要注意普通测试和参数化测试的运行环境和条件区别,主要体现在@RunWith注解的不同。
摘要由CSDN通过智能技术生成

很多时候,我们在开发中写单元测试的时候,当对同一个方法的不同边界取值时,需要写多个单元测试来达到分支覆盖的效果,例如测试两个数相除,至少需要测试以下几个情况:

1、被除数为0的情况

2、除数为整数的情况

3、除数为小数的情况

所以,我们至少需要写三个单元测试。

下面来介绍一下使用Junit来进行参数化的测试,可以通过批量构建测试参数,从而达到全覆盖的目的,首先还是来先看一段代码:

import static org.junit.Assert.assertEquals;
 
import java.util.Arrays;
import java.util.Collection;
 
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
 
// 该RunWith是参数化测试特有的
@RunWith(Parameterized.class)
public class Parameter {
private int expected;// 期望的结果
private int input1;// 除数
private int input2;// 被除数
private static Div div = null;// 两个数相除的方法
/**
 * 构造函数,用来赋值
 * @param expected
 * @param input1
 * @
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值