Ho creato un modulo di utilità che converte un formato di file in un altro. Il file i.e. test.abc
verrà convertito in i.e. test.pqr
e il formato interno dei file è completamente diverso. Questo modulo coinvolge quasi 5 diversi formati di file.
Internamente , usa uno strumento nativo e non ho alcun controllo su di esso. Converte il file e la mia classe di utilità invia semplicemente i comandi a questo strumento e manipola i file.
public class Utility {
public File convertIt(File file, Format to) {
// Check extension
// Execute command of native tool accordingly
// Return resulting file
}
}
Non sono in grado di concludere come dovrei scrivere casi di test unitari per questa utility. Perché ogni formato è diverso e in produzione ogni file verrà inserito dall'utente. Inoltre, ci sono molti attributi alcuni sono obbligatori e alcuni sono opzionali. e potrebbe essere possibile che un formato di file possa usarlo o meno.
Attualmente quello che sto pensando è che, nelle risorse del test case, posso fornire tutti i file di input e i file risultanti che ho già. Quindi posso semplicemente confrontare l'output di ogni chiamata con il file di output esistente. Ma penso che questo non coprirà tutti gli scenari e potrei aver bisogno di più file per i test.
- resources
|- input
|- input1.abc
|- input2.pqr
|- input3.xyz
|- output
|- output1.xyz
|- output2.abc
|- output3.pqr
Le mie domande,
- Questo approccio è corretto?
- C'è qualche altro approccio migliore ?
- Qual è la migliore pratica per testare tali metodi che manipolano i file?