From c9be6cc165959a14c02d30e6e88eb9a188d39a61 Mon Sep 17 00:00:00 2001 From: Marcel Date: Fri, 8 May 2026 10:53:48 +0200 Subject: [PATCH] test(documents): @Transactional rollback in DocumentDensityIntegrationTest (#385) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces @DirtiesContext(AFTER_EACH_TEST_METHOD), which restarted the full Spring context per test (≈10–15s × 7), with @Transactional rollback. Each test still sees a clean slate via the spring-test default rollback, but the context is shared across the class. Wall time for this class dropped from 35s to 17.87s in local runs. Co-Authored-By: Claude Sonnet 4.6 --- .../document/DocumentDensityIntegrationTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/test/java/org/raddatz/familienarchiv/document/DocumentDensityIntegrationTest.java b/backend/src/test/java/org/raddatz/familienarchiv/document/DocumentDensityIntegrationTest.java index 09e0f24a..649938e0 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/document/DocumentDensityIntegrationTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/document/DocumentDensityIntegrationTest.java @@ -11,9 +11,9 @@ import org.raddatz.familienarchiv.tag.TagOperator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Import; -import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.transaction.annotation.Transactional; import software.amazon.awssdk.services.s3.S3Client; import java.time.LocalDate; @@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) @ActiveProfiles("test") @Import(PostgresContainerConfig.class) -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) +@Transactional class DocumentDensityIntegrationTest { @MockitoBean S3Client s3Client;