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)); } }