【UT学习记录】

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
Part1:Mock
Part2:PowerMock
Part3:Junit


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 一、Junit
    • 1. 参数化测试
    • 2. 测试套件Suite

一、Junit


一、Junit

JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。用于编写和运行可重复的测试,是单元测试框架体系xUnit的一个实例(用于java语言)。它包括如下特性:
① 用于测试期望结果的断言(Assertion)
② 用于共享共同测试数据的测试工具
③ 用于方便的组织和运行测试的测试套件
④ 图形和文本的测试运行器

Junit 可以完成关联依赖较少、比较简单的类的单元测试。关联到其他较为复杂的类等模拟环境比较复杂,可以用Jmock 模拟对象。Jmock后面再学

1. 参数化测试

参数化测试允许开发者使用不同的值反复进行相同的测试

步骤:

  1. 创建测试类和测试方法
  2. 测试类加注解 @RunWith(Parameterized.class)
  3. 测试类方法新加参数
  4. 测试类新加带参数的构造方法
  5. @Parameterized.Parameters + 方法定义数组
  6. 测试方法调用,传入input值 和目标结果对比
package com.zy.learnPowerMockito.common;

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;

import static org.junit.Assert.*;

@RunWith(Parameterized.class)
public class MyMathTest {
    int except;
    int input1;
    int input2;

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

        }});
    }

    public MyMathTest(int except, int input1, int input2) {
        this.except = except;
        this.input1 = input1;
        this.input2 = input2;
    }

    @Test
    public void add() {
        MyMath myMath =new MyMath();
        int actNum = myMath.add(input1,input2);

        Assert.assertEquals(except, actNum);
    }
}

【UT学习记录】_第1张图片

2. 测试套件Suite

–批量运行多个测试类

注解:
@RunWith(Suite.class)
@Suite.SuiteClasses({Class1.class,Class2.class})

你可能感兴趣的:(java,UT,java,UT)