重要性:★★☆☆☆
注解为@Test
的测试方法是静态的,因为其行为是在编译时完全决定的,不能在运行时进行修改。Assumptions
(假设)提供了一定程度的动态行为(根据运行时环境条件动态调整测试执行)。
JUnit Jupiter提供了一种新的测试编程模型。可以通过注解了@TestFactory
的测试工厂方法在运行时生成动态测试。
技术上而言,@TestFactory
测试工厂方法必须返回单个的DynamicNode
实例,或由DynamicNode
组成的Stream,
Collection,
Iterable,
Iterator或数组。DynamicNode
有两个可实例化的子类:DynamicContainer
和DynamicTest
。DynamicContainer
包括一个显示名和一组动态的子节点,能够用来创建任意多层的嵌套动态节点树。DynamicTest
实例将被延迟执行,能够动态地甚至非确定性地生成测试用例。
@TestFactory
返回的任何流将