Junit 参数化测试基础 (公司的代码用到)

Junit 参数化测试基础

学习背景


背景:公司的地图组件,是在各大图商:高德SDK、百度SDK、Google SDK 以及自己开发的 DD SDK 组装起来的一个大的 SDK组件,在测试的 生产代码中可以看到,一个接口方法,会在不同的 图商的map对象中进行测试,所以提供了不同的参数:Map_Type,每个测试用例在执行的时候在各个map类型中都要跑一下看一下兼容性。

之前没接触过这种Junit参数化的代码,现在看一下熟悉。

参数化测试步骤


1、类上加注解 @RunWith(Parameterized.class)

2、固定的静态方法 模版,object里面是传递的参数

@Parameterized.Parameters
    public static List<?> data2(){
        return Arrays.asList(
                new Object[]{1,2,3,4,5}
        );
    }

3、在类内部定义几个变量,方便在构造函数里面接受参数


    int input;
//    int expect;

    public ExampleUnitTest(int input){
        this.input = input;
    }

4、执行测试方法,查看通过用例情况

  @Test
    public void addition_isCorrect() {
        int out = 2*input;
       Assert.assertEquals(2*this.input,out);
    }
    

在这里插入图片描述


完整代码


package com.ttit.map;

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

import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

/**
 * Example local unit test, which will execute on the development machine (host).
 *
 * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
 */
@RunWith(Parameterized.class)
public class ExampleUnitTest {

//    @Parameterized.Parameters
//    public static List<?> data(){
//        return Arrays.asList(new Object[][]{
//                {1,2},{2,4},{4,5}
//        });
//    }

    @Parameterized.Parameters
    public static List<?> data2(){
        return Arrays.asList(
                new Object[]{1,2,3,4,5}
        );
    }

    int input;
//    int expect;

    public ExampleUnitTest(int input){
        this.input = input;
    }


    @Test
    public void addition_isCorrect() {
        int out = 2*input;
       Assert.assertEquals(2*this.input,out);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RAIN 7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值