2016-06-06 2 views
2

Читали документы для Junit 5.0. Заметили новый метод, введенный @TestFactory. Что было бы хорошим примером использования @TestFactory, когда вы на самом деле создали бы один из них?Когда использовать Dynamic Test в Junit 5

Питер

+0

кажется эквивалентом testng '@ Factory' - здесь http://testng.org/doc/documentation-main.html – nullpointer

ответ

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 для описания наборов тестов и хранить их в файлах, отличных от исходных. Затем вы можете читать и обрабатывать эти файлы соответствующим образом и генерировать динамический тест на основе ввода.