diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/TestUtils.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/TestUtils.kt
index 88d0f4806ee3dd1b757d968303e9ff5af0e53503..2025f841c43d7de9eae5293f0adc759d9616710f 100644
--- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/TestUtils.kt
+++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/TestUtils.kt
@@ -2,19 +2,9 @@ package org.briarproject.mailbox.core
 
 import org.briarproject.mailbox.core.util.IoUtils
 import java.io.File
-import java.util.concurrent.atomic.AtomicInteger
 
 object TestUtils {
 
-    private val nextTestDir = AtomicInteger(
-        (Math.random() * 1000 * 1000).toInt()
-    )
-
-    fun getTestDirectory(): File {
-        val name: Int = nextTestDir.getAndIncrement()
-        return File("test.tmp/$name")
-    }
-
     fun deleteTestDirectory(testDir: File) {
         IoUtils.deleteFileOrDir(testDir)
         testDir.parentFile.delete() // Delete if empty
diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt
index 03dff95dcc5c629e8ac8869b63be0a2dd24b0c91..f2e0018ab7b6a39312c5fc3b8d001a4f801d1bce 100644
--- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt
+++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt
@@ -1,31 +1,25 @@
 package org.briarproject.mailbox.core.db
 
 import org.briarproject.mailbox.core.TestUtils.deleteTestDirectory
-import org.briarproject.mailbox.core.TestUtils.getTestDirectory
 import org.briarproject.mailbox.core.api.Contact
 import org.briarproject.mailbox.core.system.Clock
-import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.io.TempDir
 import java.io.File
 import java.sql.Connection
 import kotlin.test.assertEquals
 import kotlin.test.assertNull
-import kotlin.test.assertTrue
 
 abstract class JdbcDatabaseTest {
 
-    private val testDir: File = getTestDirectory()
+    @TempDir
+    lateinit var testDir: File
 
     protected abstract fun createDatabase(
         config: DatabaseConfig,
         clock: Clock,
     ): JdbcDatabase
 
-    @BeforeEach
-    open fun setUp() {
-        assertTrue(testDir.mkdirs())
-    }
-
     @Throws(java.lang.Exception::class)
     fun open(
         resume: Boolean,