Модульное тестирование метода, который записывает сериализованные объекты в файл - PullRequest
0 голосов
/ 12 июля 2011

У меня есть статический метод, который пишет сериализованный объект.Как я могу написать тесты JUnit, чтобы увидеть, работает ли он?Вот мой метод ...

    public static void writeToDisk(Data data){

     try{
            FileInputStream fis = new FileInputStream(filename);                             ObjectInputStream in = new ObjectInputStream(fis);
            dataList = (DataList) in.readObject();
            in.close();         
        }
        catch(Exception e){
            dataList = new DataList();
            System.out.println("New file created!");
        }

        dataList.insertData(data);

        try{
            FileOutputStream fos = new FileOutputStream(filename);
            ObjectOutputStream out = new ObjectOutputStream(fos);
            out.writeObject(dataList);
            out.close();
        }
        catch(Exception e){
            e.printStackTrace();
        }

        }   
    }

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Начать без файла.

Вызвать метод с аргументом test Data.Затем прочитайте его обратно из результирующего файла (при необходимости извлеките данные из списка) и сравните с оригиналом.

Повторите с новыми объектами, чтобы увидеть, успешно ли добавлены новые данные.

1 голос
/ 13 июля 2011

Измените вашу функцию, чтобы принимать InputStream.В производстве передайте FileInputStream, в тестах передайте другой InputStream, который затем можно проверить, чтобы убедиться, что он содержит правильное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...