何时在Junit 5中使用动态测试

时间:2016-06-06 09:27:43

标签: java junit

一直在阅读Junit 5.0的文档。 注意到已经引入了一种新方法 plotOptions: { pie: { showInLegend: true, tooltip: { enable: false } }, series: { marker: { enabled: false }, dataLabels: { enabled: false }, enableMouseTracking: false, size: 200, innerSize: '80%', center: [80, '50%'] } }, 。什么是@TestFactory用法的好例子,当你实际创建其中一个时?

彼得

1 个答案:

答案 0 :(得分:1)

当您需要在许多不同的输入值或配置上运行相同的测试集时,动态测试生成非常有用。

@TestFactory
Stream<DynamicTest> dynamicTestsFromIntStream() {
    // Generates tests for the first 10 even integers.
    return IntStream.iterate(0, n -> n + 2).limit(10).mapToObj(
            n -> dynamicTest("test" + n, () -> assertTrue(n % 2 == 0)));
}

或者一个更复杂的例子。您可以定义自己的DSL来描述测试套件并将它们存储在非源文件中。然后,您可以相应地读取和处理这些文件,并根据输入生成动态测试。