Как я могу проверить метод сохранения? - PullRequest
0 голосов
/ 10 июня 2019

У меня есть следующий метод сохранения, но я не знаю, как проверить этот метод.Как я могу проверить это в JUnit ??

public static void save(Spiel spielen,File file ) {
    try(ObjectOutputStream out= new ObjectOutputStream(new FileOutputStream(file))) {

        out.writeObject(spielen);

        System.out.println("Speichern Erfolgreich");
        System.out.println();
    }
    catch (Exception  e) {
        System.out.println("Fehler beim Speichern");
        System.out.println();
    }
}

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Вы можете сохранить эталонный, ожидаемый выходной файл на диске, а затем сравнить с ним протестированный результат.Есть много способов сделать это сравнение, включая некоторые JUnit Addons (в частности, FileAssert ), или просто прочитайте оба файла в байтовые массивы и подтвердите, что они равны.

Существует множество других утилит, некоторые перечислены в этом ответе: Утилиты сравнения файлов

1 голос
/ 10 июня 2019

Одно простое решение: не передавать файловый объект. Но вместо этого factory , который создает для вас OutputStream.

Во время выполнения это может быть FileOutputStream. Но для тестирования вы можете передать другую фабрику, которая создает, скажем, ByteArrayOutputStream. Затем ваш код записывает в память, не зная об этом.

И тогда вы могли бы написать еще один тест, который читает эти байты.

...