Какой метод или метод () лучше всего подходит для тестирования нескольких файлов и просмотра результатов для каждого файла? - PullRequest
1 голос
/ 12 июля 2020

Я использую Intellij IDEA 2019 и junit, чтобы прочитать кучу файлов, обработать их и посмотреть, получу ли я правильный результат. Вот мой код:

@Test
public void testSolution() {
    Solver s;
    Board b;
    int counter = 0;
    final File folder = new File("C:\\Users\\IdeaProjects\\EightPuzzle\\src\\ModifiedTests");

    for (final File fileEntry : folder.listFiles()) {
        System.out.println("processing file: " + fileEntry.getName());
        In in = new In(fileEntry.getAbsolutePath());
        int n = in.readInt();
        int moves = in.readInt();
        int[][] tiles = new int[n][n];

        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
                tiles[i][j] = in.readInt();

        b = new Board(tiles);
        s = new Solver(b);
        assertEquals(s.moves(), moves);

        counter++;
        if (counter > 10) break;
    }
}

Вот пример файла:

3
24
6   5   3 
4   1   7 
0   2   8 

Есть ли способ узнать, какие файлы были обработаны и каков результат? Я пытался использовать поле сообщения в методе assertEquals, но не знаю, как получить доступ к результату. Может мне понадобится другой метод?

1 Ответ

1 голос
/ 12 июля 2020

Если я правильно понимаю вашу проблему, возможно, параметризованные тесты - ваше решение, с файлами в вашем каталоге, являющимися параметрами. Проверьте:

https://junit.org/junit4/javadoc/4.12/org/junit/runners/Parameterized.html

...