@SqlMergeMode
@SqlMergeMode
用于注解测试类或测试方法,以配置方法级别的 @Sql
声明是否与类级别的 @Sql
声明合并。如果 @SqlMergeMode
未在测试类或测试方法上声明,则默认使用 OVERRIDE
合并模式。在 OVERRIDE
模式下,方法级别的 @Sql
声明将有效覆盖类级别的 @Sql
声明。
请注意,方法级别的 @SqlMergeMode
声明会覆盖类级别的声明。
以下示例展示了如何在类级别使用 @SqlMergeMode
。
- Java
-
@SpringJUnitConfig(TestConfig.class) @Sql("/test-schema.sql") @SqlMergeMode(MERGE) [id="CO1-1"][id="CO1-1"][id="CO1-1"](1) class UserTests { @Test @Sql("/user-test-data-001.sql") void standardUserProfile() { // run code that relies on test data set 001 } }
<1> 为类中的所有测试方法设置 `@Sql` 合并模式为 `MERGE`。
- Kotlin
-
@SpringJUnitConfig(TestConfig::class) @Sql("/test-schema.sql") @SqlMergeMode(MERGE) [id="CO2-1"][id="CO1-2"][id="CO2-1"](1) class UserTests { @Test @Sql("/user-test-data-001.sql") fun standardUserProfile() { // run code that relies on test data set 001 } }
<1> 为类中的所有测试方法设置 `@Sql` 合并模式为 `MERGE`。
以下示例展示了如何在方法级别使用 @SqlMergeMode
。
- Java
-
@SpringJUnitConfig(TestConfig.class) @Sql("/test-schema.sql") class UserTests { @Test @Sql("/user-test-data-001.sql") @SqlMergeMode(MERGE) [id="CO3-1"][id="CO1-3"][id="CO3-1"](1) void standardUserProfile() { // run code that relies on test data set 001 } }
<1> 为特定的测试方法设置 `@Sql` 合并模式为 `MERGE`。
- Kotlin
-
@SpringJUnitConfig(TestConfig::class) @Sql("/test-schema.sql") class UserTests { @Test @Sql("/user-test-data-001.sql") @SqlMergeMode(MERGE) [id="CO4-1"][id="CO1-4"][id="CO4-1"](1) fun standardUserProfile() { // run code that relies on test data set 001 } }
<1> 为特定的测试方法设置 `@Sql` 合并模式为 `MERGE`。