动态测试(Dynamic Tests)是指测试方法在运行期间被生产出来,而非编译阶段就已经明确了。动态测试的测试方法是被@TestFactory
修饰的方法,等到测试方法被生产出来后再像传统测试方法那样被执行和结果展示。
package com.example.demo;
import java.util.Arrays;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.TestFactory;
public class UnitTest {
@TestFactory
public Iterable<DynamicTest> testFactoryTest() {
DynamicTest dynamicTest1 = DynamicTest.dynamicTest(
"Dynamic test 1",
() -> {
System.out.println("动态测试用例1");
});
DynamicTest dynamicTest2 = DynamicTest.dynamicTest(
"Dynamic test 2",
() -> {
System.out.println("动态测试用例2");
});
return Arrays.asList(dynamicTest1, dynamicTest2);
}
}