使用理論進行單元測試
來自 JavaDoc
Theories 執行器允許針對無限資料點集的子集測試某個功能。
執行理論
import org.junit.experimental.theories.Theories;
import org.junit.experimental.theories.Theory;
import org.junit.runner.RunWith;
@RunWith(Theories.class)
public class FixturesTest {
@Theory
public void theory(){
//...some asserts
}
}
用 @Theory
註釋的方法將被 Theories runner 讀作理論。
@DataPoint 註釋
@RunWith(Theories.class)
public class FixturesTest {
@DataPoint
public static String dataPoint1 = "str1";
@DataPoint
public static String dataPoint2 = "str2";
@DataPoint
public static int intDataPoint = 2;
@Theory
public void theoryMethod(String dataPoint, int intData){
//...some asserts
}
}
用 @DataPoint
註釋的每個欄位將用作理論中給定型別的方法引數。在上面的示例中,theoryMethod
將使用以下引數執行兩次:["str1", 2] , ["str2", 2]
@DataPoints 註釋 @RunWith(Theories.class)
公共類 FixturesTest {
@DataPoints
public static String[] dataPoints = new String[]{"str1", "str2"};
@DataPoints
public static int[] dataPoints = new int[]{1, 2};
@Theory
public void theoryMethod(String dataPoint, ){
//...some asserts
}
}
用 @DataPoints
註釋註釋的陣列的每個元素將用作理論中給定型別的方法引數。在上面的例子中,theoryMethod
將使用以下引數執行四次:["str1", 1], ["str2", 1], ["str1", 2], ["str2", 2]