junit

参考:https://www.cnblogs.com/ysocean/p/6889906.html#_label2

          https://www.cnblogs.com/AloneSword/p/4109407.html

https://junit.org/junit5/docs/current/user-guide/#overview-what-is-junit-5

spring 整合单元测试

https://jinnianshilongnian.iteye.com/blog/2004660

https://www.cnblogs.com/onetwo/p/6370218.html

junit 入门 参考:https://www.w3cschool.cn/junit/

public class ExecutionProcedureJunit  {
    //beforeClass() 方法首先执行,并且只执行一次。
    @BeforeClass
    public static void beforeClass(){
        System.out.println("in before class");
    }
    //afterClass() 方法最后执行,并且只执行一次
    @AfterClass
    public static void afterClass(){
        System.out.println("in after class");
    }
    //after() 方法针对每一个测试用例执行,但是是在执行测试用例之后
    @After
    public void after(){
        System.out.println("in after");
    }
    //before() 方法针对每一个测试用例执行,但是是在执行测试用例之前。
    @Before
    public void Before(){
        System.out.println("in before");
    }
    //在 before() 方法和 after() 方法之间,执行每一个测试用例
    @Test
    public void testCase1(){
        System.out.println("in test case 1");
    }
    //在 before() 方法和 after() 方法之间,执行每一个测试用例
    @Test
    public void testCase2(){
        System.out.println("in test case 2");
    }
}

 参数化测试

用 @RunWith(Parameterized.class) 来注释 test 类。
创建一个由 @Parameters 注释的公共的静态方法,它返回一个对象的集合(数组)来作为测试数据集合。
创建一个公共的构造函数,它接受和一行测试数据相等同的东西。
为每一列测试数据创建一个实例变量。
用实例变量作为测试数据的来源来创建你的测试用例。

package com.test9;
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 static org.junit.Assert.*;

@RunWith(Parameterized.class) //用 @RunWith(Parameterized.class) 来注释 test 类。
public class PrimeNumberCheckerTest {
    private Integer inputNumber;
    private boolean expectedResult;
    private PrimeNumberChecker primeNumberChecker;
    @Before
    public void initialize(){
        primeNumberChecker=new PrimeNumberChecker();
    }
    //创建一个公共的构造函数,它接受和一行测试数据相等同的东西
    public PrimeNumberCheckerTest(Integer inputNumber,boolean expectedResult){
        this.inputNumber=inputNumber;
        this.expectedResult=expectedResult;
    }
    @SuppressWarnings("rawtypes")
    @Parameterized.Parameters //创建一个由 @Parameters 注释的公共的静态方法,它返回一个对象的集合(数组)来作为测试数据集合。
    public static Collection primeNumbers(){
        return Arrays.asList(new Object[][]{
            {2,true},
            {6,false},
            {19,true},
            {22,false},
            {23,true}
        });
    }
    @Test
    public void testPrimeNumberChecker(){
        System.out.println("Parameterized Number is : "+inputNumber);
        assertEquals(expectedResult, primeNumberChecker.validate(inputNumber));
    }    
}
原文地址:https://www.cnblogs.com/yanliang12138/p/10166898.html