Как вложить параметризованный тест по произвольному значению - PullRequest
0 голосов
/ 28 марта 2020

У меня есть параметризованные тесты, которые зависят от файлов. Я хотел бы перегруппировать тест по 2 уровням каталогов:

Существует уровень root, где я рекурсивно ищу все файлы.

С этого root я бы хотел создать одну группу для каждой директории. Для каждого из этих каталогов / групп я хотел бы сделать те же и вложенные подкаталоги, что и группы тестов.

Итак:

  • test / resources
  • test /resources/foo/a/a_1.txt
  • test / resources / foo / a / lol / a_2.txt
  • test / resources / foo / b / b_1.txt
  • test / resources / bar / c / c_1.txt
  • test / resources / bar / c / c_2.txt

Должен дать такой отчет о тестировании:

  • test / resources
    • foo
      • a
        • a_1.txt
        • lol / a_2.txt
      • b
        • b_1.txt
    • бар
      • c
        • c_1. txt
        • c_2.txt

На данный момент у меня есть что-то подобное:

@RunWith(Parameterized.class)
public class DynamicCompilationTest {
    private final File input;
    private final boolean ok;

    @Rule
    public TemporaryFolder testFolder = new TemporaryFolder();

    @Parameters(name = "{0}")
    public static Collection<Object[]> parameters() {
        /* searching files */
    }

    public DynamicCompilationTest(String testName, File input, boolean ok) {
        /* constructing test scenario from parameters */
    }

    @Test
    public void test() throws IOException {
        /* doing assertions on test scenario */
    }
}

, и он дает плоский список результатов испытаний ...

...