Salve a tutti, vorrei eseguire il metodo di tearDown dopo l'esecuzione di tutti i test della classe, quindi alla fine come ultima cosa. Come potrei fare? Ho provato con l'annotazione @AfterClass ma viene eseguito dopo ogni test.
@BeforeClass
public void setUp() {
for (int i = 0; i < Costanti.DIM_T; i++) {
File destFileDecoding = new File(Costanti.DESTPATH_DECODING_T + i + "-stego.pdf");
System.out.println(destFileDecoding.toString());
String fileNameDecoding = destFileDecoding.getName().replace(".pdf", "");
DecoderManager dm = new DecoderManager(destFileDecoding,
new File(Costanti.DESTPATH_ENCODING_T + "/" + fileNameDecoding + "-message.txt"));
listaDM.add(i, dm);
}
System.out.println("Lista di decoder manager dopo : " + listaDM.toString());
}
@Test
public void test0() {
String decodedMsg = null;
try {
decodedMsg = this.listaDM.get(0).decode();
assertTrue(decodedMsg.contains(Costanti.PASSPHRASE));
} catch (IOException ex) {
ex.printStackTrace();
fail();
}
}
@Test
public void test1() {
String decodedMsg = null;
try {
decodedMsg = this.listaDM.get(1).decode();
assertTrue(decodedMsg.contains(Costanti.PASSPHRASE));
} catch (IOException ex) {
ex.printStackTrace();
fail();
}
}
@AfterClass
public void tearDown() {
System.out.println("Sto facendo il teardown");
for (DecoderManager decoderManager : listaDM) {
File fileStego = decoderManager.getToDecodeFile();
System.out.println("cancello");
File fileTesto = decoderManager.getMessageDest();
fileStego.delete();
fileTesto.delete();
}
}