Testing / JUnit6 Interview Questions
What is the @TempDir annotation in JUnit 6?
@TempDir is a built-in JUnit 6 extension (from junit-jupiter-api) that creates a temporary directory for a test and automatically deletes it afterwards. It eliminates the boilerplate of creating, using, and deleting temp directories manually.
import org.junit.jupiter.api.io.TempDir; import java.nio.file.Path; import java.io.File; class TempDirTest { // Method parameter injection: per-test temp directory @Test void writesAndReadsFile(@TempDir Path tempDir) throws Exception { Path file = tempDir.resolve("report.txt"); Files.writeString(file, "Test output"); assertEquals("Test output", Files.readString(file)); // Directory is automatically deleted after the test } // Field injection: same directory reused across tests in class @TempDir static Path sharedTempDir; // static = shared across all tests @Test void firstTestUsesSharedDir() throws Exception { Files.writeString(sharedTempDir.resolve("a.txt"), "hello"); } @Test void secondTestSeesFilesFromFirst() throws Exception { // sharedTempDir persists between tests (static) assertTrue(Files.exists(sharedTempDir.resolve("a.txt"))); } // Can also inject as java.io.File: @Test void withFileType(@TempDir File tempDir) { File output = new File(tempDir, "result.csv"); // ... file operations } }
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
