【java测试-Junit3】测试套件和参数化

一、测试套件

有多个测试类的情况下,使用测试套件可以一次性执行多个测试类。

1.创建一个空的测试类

2.用测试运行器@RunWith(Suite.class)注释

3.向测试运行器中添加测试类

4.运行测试套件类

package com.coke.util;


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

@RunWith(Suite.class)
@Suite.SuiteClasses({TaskTest1.class,TaskTest2.class})
public class SuiteTest {

}

 

二、参数化

package com.coke.util;


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

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

/*

1.更改测试运行器@RunWith(Parameterized.class)
2.声明变量、预期结果值
3.声明返回值为Collection的公共静态方法,并用@Parameterized.Parameters 修饰
4.为测试类声明一个构造方法

 */

@RunWith(Parameterized.class)
public class ParameterTest {

    int expected = 0;
    int input1 = 0;
    int input2 = 0;

    @Parameterized.Parameters
    public static Collection<Object[]> t(){
        return Arrays.asList(new Object[][]{
            {5,2,3},{6,1,5},{10,9,1}
        });
    }

    public ParameterTest(int expected,int input1,int input2){
        this.expected = expected;
        this.input1 = input1;
        this.input2 = input2;
    }


    @Test
    public void testAdd(){
        int result = new Calculate().add(input1,input2);
        Assert.assertEquals(expected,result);
    }


}

 

posted @ 2021-01-10 16:25  愚人李愚  阅读(344)  评论(0编辑  收藏  举报