Skip to content

Commit d1b4338

Browse files
committed
Test status quo for @⁠Sql in @⁠Nested test class w/ class-level execution phases
1 parent 8ed302b commit d1b4338

File tree

2 files changed

+48
-1
lines changed

2 files changed

+48
-1
lines changed

spring-test/src/test/java/org/springframework/test/context/jdbc/AfterTestClassSqlScriptsTests.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import javax.sql.DataSource;
2020

2121
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
22+
import org.junit.jupiter.api.Nested;
2223
import org.junit.jupiter.api.Order;
2324
import org.junit.jupiter.api.Test;
2425
import org.junit.jupiter.api.TestMethodOrder;
@@ -38,6 +39,7 @@
3839
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
3940
import static org.springframework.test.context.TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS;
4041
import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.AFTER_TEST_CLASS;
42+
import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.BEFORE_TEST_CLASS;
4143

4244
/**
4345
* Verifies that {@link Sql @Sql} with {@link ExecutionPhase#AFTER_TEST_CLASS}
@@ -69,6 +71,26 @@ void databaseIsNotWipedBetweenTests() {
6971
assertUsers("Catbert", "Dogbert");
7072
}
7173

74+
@Nested
75+
@Sql(scripts = "recreate-schema.sql", executionPhase = BEFORE_TEST_CLASS)
76+
@Sql(scripts = "drop-schema.sql", executionPhase = AFTER_TEST_CLASS)
77+
class NestedAfterTestClassSqlScriptsTests {
78+
79+
@Test
80+
@Order(1)
81+
@Sql("data-add-catbert.sql")
82+
void databaseHasBeenInitialized() {
83+
assertUsers("Catbert");
84+
}
85+
86+
@Test
87+
@Order(2)
88+
@Sql("data-add-dogbert.sql")
89+
void databaseIsNotWipedBetweenTests() {
90+
assertUsers("Catbert", "Dogbert");
91+
}
92+
93+
}
7294

7395
static class VerifySchemaDroppedListener extends AbstractTestExecutionListener {
7496

spring-test/src/test/java/org/springframework/test/context/jdbc/BeforeTestClassSqlScriptsTests.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.test.context.jdbc;
1818

19+
import org.junit.jupiter.api.Nested;
1920
import org.junit.jupiter.api.Test;
2021

2122
import org.springframework.test.annotation.DirtiesContext;
@@ -36,7 +37,7 @@
3637
*/
3738
@SpringJUnitConfig(EmptyDatabaseConfig.class)
3839
@DirtiesContext
39-
@Sql(scripts = {"schema.sql", "data-add-catbert.sql"}, executionPhase = BEFORE_TEST_CLASS)
40+
@Sql(scripts = {"recreate-schema.sql", "data-add-catbert.sql"}, executionPhase = BEFORE_TEST_CLASS)
4041
class BeforeTestClassSqlScriptsTests extends AbstractTransactionalTests {
4142

4243
@Test
@@ -58,4 +59,28 @@ void overrideDoesNotAffectClassLevelPhase() {
5859
assertUsers("Catbert", "Dogbert");
5960
}
6061

62+
@Nested
63+
class NestedBeforeTestClassSqlScriptsTests {
64+
65+
@Test
66+
void classLevelScriptsHaveBeenRun() {
67+
assertUsers("Catbert");
68+
}
69+
70+
@Test
71+
@Sql("data-add-dogbert.sql")
72+
@SqlMergeMode(MERGE)
73+
void mergeDoesNotAffectClassLevelPhase() {
74+
assertUsers("Catbert", "Dogbert");
75+
}
76+
77+
@Test
78+
@Sql({"data-add-dogbert.sql"})
79+
@SqlMergeMode(OVERRIDE)
80+
void overrideDoesNotAffectClassLevelPhase() {
81+
assertUsers("Catbert", "Dogbert");
82+
}
83+
84+
}
85+
6186
}

0 commit comments

Comments
 (0)