0
我想測試從文件讀取和寫入文件功能。我的問題是這些功能沒有任何參數。直到現在,我只用文件作爲參數測試了這種功能。我已經通過其他questins看,發現這些:How to unit test a method that reads a given file,How to test write to file in Java?但他們並沒有真正幫助我。我想OT試驗的代碼是:測試寫入文件並從不帶參數的文件讀取
public void loadData()
{
try(BufferedReader br=new BufferedReader(new FileReader(super.fileName))){
String line;
while((line=br.readLine())!=null){
String[] atributes=line.split(";");
if(atributes.length!=4)
throw new Exception("Linia nu este valida!");
Student t=new Student(atributes[0],atributes[1],atributes[2],atributes[3]);
super.save(t);
}
Thread.sleep(5000);
} catch (Exception e) {
e.printStackTrace();
}
}
public synchronized void writeToFile() {
try (BufferedWriter br = new BufferedWriter(new FileWriter(super.fileName))){
super.entities.forEach(x -> {
try {
br.write(x.studentFileLine());
} catch (IOException e) {
e.printStackTrace();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
任何人都可以給我一個如何測試這個沒有文件參數提示?
您提到的帖子解釋了一個重要的觀點:讓您的代碼可測試。無法設置文件參數進行測試不會使代碼可測試。如果你想保持代碼不可測試,你可能會得到一種依靠不良實踐的方式。 – davidxxx
如何分配'super.fileName'? – slim
順便說一句,「屬性」中有一個雙「t」。我只是指出這一點,因爲它在這個來源中經常重複。 – slim