簡體   English   中英

單元測試將序列化對象寫入文件的方法

[英]Unit testing a method that writes serialized objects to a file

我有一個編寫序列化 object 的 static 方法。 如何編寫 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();
        }

        }   
    }

從無文件開始。

使用測試Data參數調用該方法。 然后從結果文件中讀取它(根據需要從列表中提取數據)並與原始文件進行比較。

對新對象重復以查看是否成功添加了新數據。

更改您的 function 以接受 InputStream。 在生產中,傳遞一個 FileInputStream,在測試中,傳遞一個不同的 InputStream,然后您可以檢查它以確保它包含正確的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM