java单元测试工具:JUnit4(三)——测试套件的使用和参数化设置

1、测试套件
     当我们需要测试的类比较多时,为了方便测试,我们可以使用测试套件,通过测试套件类,可以一次性测试所有的测试类。
      1.1测试套件就是组织测试类一起运行的
      1.2如何创建一个测试套件?
               写一个作为测试套件的入口类,这个类里不包含其它的方法
               使用@RunWith注解更改测试运行器为Suite.class
               将要测试的类作为数组传入到Suite.SuiteClasses({})
      1.3例子:
 代码块:
package util;

import static org.junit.Assert.*;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({CalculateTest.class,errorTest.class})
public class SuiteTest {

}
结果:
               


2、参数化设置
     若要对同一个方法进行多组数据测试,则需要用到参数化。
      2.1如何设置参数化?
          ①.更改默认的测试运行器为RunWith(Parameterized.class)
          ②.声明变量来存放预期值和结果值
          ③.声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
          ④.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
      2.2代码:

package util;

import static org.junit.Assert.*;

import java.util.Arrays;
import java.util.Collection;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class ParameterTest {
     int expected=0;//设置一个预期值变量
     /*
      * 设置两个输入值变量
      */
     int input1 = 0;
     int input2 = 0;

     /*
      * 通过一个数组存放多组测试数据
      * 创建一个返回值为Collection的公共静态方法
      */
     @Parameters
     public static Collection<Object[]>t(){

          return Arrays.asList(new Object[][]{
                   {3,1,2},
                   {4,2,2}
          });
     }

     /*
      * 创建一个构造方法,对变量进行复制
      */
     public ParameterTest(int expected,int input1,int input2){
          this.expected = expected;
          this.input1 = input1;
          this.input2 = input2;
     }
     /*
      * 测试加法
      */
     @Test
     public void testAdd(){
          assertEquals(expected,new Calculate().add(input1, input2));
     }


}
     2.3结果:
               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值