@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`。