package de.is24.deadcode4j.junit; import org.junit.rules.TestWatcher; import org.junit.runner.Description; import java.io.File; import java.io.IOException; import static java.io.File.createTempFile; public class TempFileRule extends TestWatcher { private File tempFile; @Override protected void starting(Description description) { try { tempFile = createTempFile("JUnit", ".tmp"); } catch (IOException e) { throw new RuntimeException("Failed to create temp file!", e); } tempFile.deleteOnExit(); } @Override @SuppressWarnings("ResultOfMethodCallIgnored") protected void finished(Description description) { if (tempFile != null) { tempFile.delete(); } } public File getTempFile() { return tempFile; } }