1. 程式人生 > 實用技巧 >【java測試-Junit3】測試套件和引數化

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