Remove obsolete role attributes for tab groups in the reference manual

Since we now use asciidoctor-tabs instead of spring-asciidoctor-backends,
we no longer need the `role="primary"` and `role="secondary"` attributes
for tab groups.

Closes gh-33506
This commit is contained in:
Sam Brannen
2024-09-08 17:20:10 +02:00
parent 761fb8f6c9
commit 4fb70b671a
223 changed files with 1925 additions and 1925 deletions

View File

@@ -30,7 +30,7 @@ configuration class:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class) // <1>
class ConfigurationClassJUnitJupiterSpringTests {
@@ -41,7 +41,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class) // <1>
class ConfigurationClassJUnitJupiterSpringTests {
@@ -59,7 +59,7 @@ location of a configuration file:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(locations = "/test-config.xml") // <1>
class XmlJUnitJupiterSpringTests {
@@ -70,7 +70,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(locations = ["/test-config.xml"]) // <1>
class XmlJUnitJupiterSpringTests {
@@ -105,7 +105,7 @@ a configuration class:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig(TestConfig.class) // <1>
class ConfigurationClassJUnitJupiterSpringWebTests {
@@ -116,7 +116,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig(TestConfig::class) // <1>
class ConfigurationClassJUnitJupiterSpringWebTests {
@@ -134,7 +134,7 @@ location of a configuration file:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig(locations = "/test-config.xml") // <1>
class XmlJUnitJupiterSpringWebTests {
@@ -145,7 +145,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig(locations = ["/test-config.xml"]) // <1>
class XmlJUnitJupiterSpringWebTests {
@@ -274,7 +274,7 @@ example, you can create a custom `@EnabledOnMac` annotation as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@@ -287,7 +287,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Target(AnnotationTarget.TYPE, AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
@@ -340,7 +340,7 @@ example, you can create a custom `@DisabledOnMac` annotation as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@@ -353,7 +353,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Target(AnnotationTarget.TYPE, AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)

View File

@@ -31,7 +31,7 @@ The following example shows a test that has an `@IfProfileValue` annotation:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@IfProfileValue(name="java.vendor", value="Oracle Corporation") // <1>
@Test
@@ -43,7 +43,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@IfProfileValue(name="java.vendor", value="Oracle Corporation") // <1>
@Test
@@ -63,7 +63,7 @@ Consider the following example:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@IfProfileValue(name="test-groups", values={"unit-tests", "integration-tests"}) // <1>
@Test
@@ -75,7 +75,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@IfProfileValue(name="test-groups", values=["unit-tests", "integration-tests"]) // <1>
@Test
@@ -101,7 +101,7 @@ is used by default. The following example shows how to use
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ProfileValueSourceConfiguration(CustomProfileValueSource.class) // <1>
public class CustomProfileValueSourceTests {
@@ -112,7 +112,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ProfileValueSourceConfiguration(CustomProfileValueSource::class) // <1>
class CustomProfileValueSourceTests {
@@ -138,7 +138,7 @@ example shows how to use it:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Timed(millis = 1000) // <1>
public void testProcessWithOneSecondTimeout() {
@@ -149,7 +149,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Timed(millis = 1000) // <1>
fun testProcessWithOneSecondTimeout() {
@@ -183,7 +183,7 @@ following example shows how to use the `@Repeat` annotation:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Repeat(10) // <1>
@Test
@@ -195,7 +195,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Repeat(10) // <1>
@Test

View File

@@ -43,7 +43,7 @@ Consider the following example:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@RunWith(SpringRunner.class)
@ContextConfiguration({"/app-config.xml", "/test-data-access-config.xml"})
@@ -60,7 +60,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@RunWith(SpringRunner::class)
@ContextConfiguration("/app-config.xml", "/test-data-access-config.xml")
@@ -84,7 +84,7 @@ that centralizes the common test configuration for Spring, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@@ -96,7 +96,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Target(AnnotationTarget.TYPE)
@Retention(AnnotationRetention.RUNTIME)
@@ -114,7 +114,7 @@ configuration of individual JUnit 4 based test classes, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@RunWith(SpringRunner.class)
@TransactionalDevTestConfig
@@ -127,7 +127,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@RunWith(SpringRunner::class)
@TransactionalDevTestConfig
@@ -147,7 +147,7 @@ example:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@ContextConfiguration({"/app-config.xml", "/test-data-access-config.xml"})
@@ -164,7 +164,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@ContextConfiguration("/app-config.xml", "/test-data-access-config.xml")
@@ -189,7 +189,7 @@ as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@@ -202,7 +202,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Target(AnnotationTarget.TYPE)
@Retention(AnnotationRetention.RUNTIME)
@@ -221,7 +221,7 @@ configuration of individual JUnit Jupiter based test classes, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@TransactionalDevTestConfig
class OrderRepositoryTests { }
@@ -232,7 +232,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@TransactionalDevTestConfig
class OrderRepositoryTests { }
@@ -253,7 +253,7 @@ follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@@ -265,7 +265,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Target(AnnotationTarget.TYPE)
@Retention(AnnotationRetention.RUNTIME)
@@ -283,7 +283,7 @@ configuration of individual JUnit Jupiter based test methods, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@TransactionalIntegrationTest
void saveOrder() { }
@@ -294,7 +294,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@TransactionalIntegrationTest
fun saveOrder() { }

View File

@@ -11,7 +11,7 @@ The following example indicates that the `dev` profile should be active:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@ActiveProfiles("dev") // <1>
@@ -23,7 +23,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@ActiveProfiles("dev") // <1>
@@ -42,7 +42,7 @@ be active:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@ActiveProfiles({"dev", "integration"}) // <1>
@@ -54,7 +54,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@ActiveProfiles(["dev", "integration"]) // <1>

View File

@@ -11,7 +11,7 @@ methods.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@AfterTransaction // <1>
void afterTransaction() {
@@ -22,7 +22,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@AfterTransaction // <1>
fun afterTransaction() {

View File

@@ -13,7 +13,7 @@ The following example shows how to use the `@BeforeTransaction` annotation:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@BeforeTransaction // <1>
void beforeTransaction() {
@@ -24,7 +24,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@BeforeTransaction // <1>
fun beforeTransaction() {

View File

@@ -13,7 +13,7 @@ The following example shows how to use the `@Commit` annotation:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Commit // <1>
@Test
@@ -25,7 +25,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Commit // <1>
@Test

View File

@@ -19,7 +19,7 @@ file:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration("/test-config.xml") // <1>
class XmlApplicationContextTests {
@@ -30,7 +30,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration("/test-config.xml") // <1>
class XmlApplicationContextTests {
@@ -47,7 +47,7 @@ The following example shows a `@ContextConfiguration` annotation that refers to
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration(classes = TestConfig.class) // <1>
class ConfigClassApplicationContextTests {
@@ -58,7 +58,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration(classes = [TestConfig::class]) // <1>
class ConfigClassApplicationContextTests {
@@ -77,7 +77,7 @@ The following example shows such a case:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration(initializers = CustomContextInitializer.class) // <1>
class ContextInitializerTests {
@@ -88,7 +88,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration(initializers = [CustomContextInitializer::class]) // <1>
class ContextInitializerTests {
@@ -110,7 +110,7 @@ The following example uses both a location and a loader:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration(locations = "/test-context.xml", loader = CustomContextLoader.class) // <1>
class CustomLoaderXmlApplicationContextTests {
@@ -121,7 +121,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration("/test-context.xml", loader = CustomContextLoader::class) // <1>
class CustomLoaderXmlApplicationContextTests {

View File

@@ -13,7 +13,7 @@ The following example shows how to register two `ContextCustomizerFactory` imple
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@ContextCustomizerFactories({CustomContextCustomizerFactory.class, AnotherContextCustomizerFactory.class}) // <1>
@@ -25,7 +25,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@ContextCustomizerFactories([CustomContextCustomizerFactory::class, AnotherContextCustomizerFactory::class]) // <1>

View File

@@ -12,7 +12,7 @@ used within a test class hierarchy):
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextHierarchy({
@ContextConfiguration("/parent-config.xml"),
@@ -25,7 +25,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextHierarchy(
ContextConfiguration("/parent-config.xml"),
@@ -40,7 +40,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@WebAppConfiguration
@ContextHierarchy({
@@ -54,7 +54,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@WebAppConfiguration
@ContextHierarchy(

View File

@@ -28,7 +28,7 @@ configuration scenarios:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(classMode = BEFORE_CLASS) // <1>
class FreshContextTests {
@@ -39,7 +39,7 @@ Java::
+
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(classMode = BEFORE_CLASS) // <1>
class FreshContextTests {
@@ -56,7 +56,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext // <1>
class ContextDirtyingTests {
@@ -67,7 +67,7 @@ Java::
+
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext // <1>
class ContextDirtyingTests {
@@ -85,7 +85,7 @@ mode set to `BEFORE_EACH_TEST_METHOD.`
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(classMode = BEFORE_EACH_TEST_METHOD) // <1>
class FreshContextTests {
@@ -96,7 +96,7 @@ Java::
+
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(classMode = BEFORE_EACH_TEST_METHOD) // <1>
class FreshContextTests {
@@ -114,7 +114,7 @@ mode set to `AFTER_EACH_TEST_METHOD.`
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(classMode = AFTER_EACH_TEST_METHOD) // <1>
class ContextDirtyingTests {
@@ -125,7 +125,7 @@ Java::
+
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(classMode = AFTER_EACH_TEST_METHOD) // <1>
class ContextDirtyingTests {
@@ -143,7 +143,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(methodMode = BEFORE_METHOD) // <1>
@Test
@@ -155,7 +155,7 @@ Java::
+
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext(methodMode = BEFORE_METHOD) // <1>
@Test
@@ -173,7 +173,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext // <1>
@Test
@@ -185,7 +185,7 @@ Java::
+
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@DirtiesContext // <1>
@Test
@@ -211,7 +211,7 @@ as the following example shows.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextHierarchy({
@ContextConfiguration("/parent-config.xml"),
@@ -234,7 +234,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextHierarchy(
ContextConfiguration("/parent-config.xml"),

View File

@@ -14,7 +14,7 @@ The following example demonstrates how to register a dynamic property:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
class MyIntegrationTests {
@@ -35,7 +35,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
class MyIntegrationTests {

View File

@@ -42,7 +42,7 @@ The following example shows how to use the default behavior of the `@MockitoBean
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class OverrideBeanTests {
@MockitoBean // <1>
@@ -66,7 +66,7 @@ The following example uses a by-name lookup, rather than a by-type lookup:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class OverrideBeanTests {
@MockitoBean(name = "service") // <1>
@@ -87,7 +87,7 @@ The following example shows how to use the default behavior of the `@MockitoSpyB
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class OverrideBeanTests {
@MockitoSpyBean // <1>
@@ -110,7 +110,7 @@ The following example uses a by-name lookup, rather than a by-type lookup:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class OverrideBeanTests {
@MockitoSpyBean(name = "service") // <1>

View File

@@ -19,7 +19,7 @@ result is committed to the database):
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Rollback(false) // <1>
@Test
@@ -31,7 +31,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Rollback(false) // <1>
@Test

View File

@@ -9,7 +9,7 @@ it:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql({"/test-schema.sql", "/test-user-data.sql"}) // <1>
@@ -21,7 +21,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql("/test-schema.sql", "/test-user-data.sql") // <1>

View File

@@ -8,7 +8,7 @@ configured with the `@Sql` annotation. The following example shows how to use it
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql(
@@ -23,7 +23,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql("/test-user-data.sql", config = SqlConfig(commentPrefix = "`", separator = "@@")) // <1>

View File

@@ -11,7 +11,7 @@ annotation. The following example shows how to declare an SQL group:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Test
@SqlGroup({ // <1>
@@ -26,7 +26,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
@SqlGroup( // <1>

View File

@@ -15,7 +15,7 @@ The following example shows how to use `@SqlMergeMode` at the class level.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
@Sql("/test-schema.sql")
@@ -33,7 +33,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
@Sql("/test-schema.sql")
@@ -56,7 +56,7 @@ The following example shows how to use `@SqlMergeMode` at the method level.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
@Sql("/test-schema.sql")
@@ -74,7 +74,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
@Sql("/test-schema.sql")

View File

@@ -32,7 +32,7 @@ The following example shows how to use the default behavior of the `@TestBean` a
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class OverrideBeanTests {
@TestBean // <1>
@@ -60,7 +60,7 @@ The following example uses a by-name lookup, rather than a by-type lookup:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class OverrideBeanTests {
@TestBean(name = "service", methodName = "createCustomService") // <1>

View File

@@ -12,7 +12,7 @@ The following example shows how to register two `TestExecutionListener` implemen
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestExecutionListeners({CustomTestExecutionListener.class, AnotherTestExecutionListener.class}) // <1>
@@ -24,7 +24,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestExecutionListeners(CustomTestExecutionListener::class, AnotherTestExecutionListener::class) // <1>

View File

@@ -12,7 +12,7 @@ The following example demonstrates how to declare a properties file from the cla
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource("/test.properties") // <1>
@@ -24,7 +24,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource("/test.properties") // <1>
@@ -42,7 +42,7 @@ The following example demonstrates how to declare inlined properties:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource(properties = { "timezone = GMT", "port: 4242" }) // <1>
@@ -54,7 +54,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource(properties = ["timezone = GMT", "port: 4242"]) // <1>

View File

@@ -17,7 +17,7 @@ The following example shows how to use the `@WebAppConfiguration` annotation:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@WebAppConfiguration // <1>
@@ -29,7 +29,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@WebAppConfiguration // <1>
@@ -52,7 +52,7 @@ resource. The following example shows how to specify a classpath resource:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@WebAppConfiguration("classpath:test-web-resources") // <1>
@@ -64,7 +64,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@WebAppConfiguration("classpath:test-web-resources") // <1>

View File

@@ -20,7 +20,7 @@ or reactive type such as Reactor `Mono`:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// static import of MockMvcRequestBuilders.* and MockMvcResultMatchers.*
@@ -45,7 +45,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
fun test() {

View File

@@ -9,7 +9,7 @@ no other expectations will be asserted.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// static import of MockMvcRequestBuilders.* and MockMvcResultMatchers.*
@@ -18,7 +18,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.get
@@ -37,7 +37,7 @@ all failures will be tracked and reported.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// static import of MockMvcRequestBuilders.* and MockMvcResultMatchers.*
@@ -48,7 +48,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.get
@@ -78,7 +78,7 @@ The following test asserts that binding or validation failed:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(post("/persons"))
.andExpect(status().isOk())
@@ -87,7 +87,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.post
@@ -108,7 +108,7 @@ request. You can do so as follows, where `print()` is a static import from
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(post("/persons"))
.andDo(print())
@@ -118,7 +118,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.post
@@ -150,7 +150,7 @@ other expectations, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
MvcResult mvcResult = mockMvc.perform(post("/persons")).andExpect(status().isOk()).andReturn();
// ...
@@ -158,7 +158,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
var mvcResult = mockMvc.post("/persons").andExpect { status { isOk() } }.andReturn()
// ...
@@ -172,7 +172,7 @@ building the `MockMvc` instance, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
standaloneSetup(new SimpleController())
.alwaysExpect(status().isOk())
@@ -182,7 +182,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
----
@@ -199,7 +199,7 @@ resulting links by using JsonPath expressions, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(get("/people").accept(MediaType.APPLICATION_JSON))
.andExpect(jsonPath("$.links[?(@.rel == 'self')].href").value("http://localhost:8080/people"));
@@ -207,7 +207,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
mockMvc.get("/people") {
accept(MediaType.APPLICATION_JSON)
@@ -227,7 +227,7 @@ resulting links by using XPath expressions:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
Map<String, String> ns = Collections.singletonMap("ns", "http://www.w3.org/2005/Atom");
mockMvc.perform(get("/handle").accept(MediaType.APPLICATION_XML))
@@ -236,7 +236,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val ns = mapOf("ns" to "http://www.w3.org/2005/Atom")
mockMvc.get("/handle") {

View File

@@ -9,14 +9,14 @@ instances, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc = standaloneSetup(new PersonController()).addFilters(new CharacterEncodingFilter()).build();
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
----

View File

@@ -11,7 +11,7 @@ To perform requests that use any HTTP method, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// static import of MockMvcRequestBuilders.*
@@ -20,7 +20,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.post
@@ -38,14 +38,14 @@ request. Rather, you have to set it up to be similar to the following example:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(multipart("/doc").file("a1", "ABC".getBytes("UTF-8")));
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.multipart
@@ -61,14 +61,14 @@ You can specify query parameters in URI template style, as the following example
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(get("/hotels?thing={thing}", "somewhere"));
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
mockMvc.get("/hotels?thing={thing}", "somewhere")
----
@@ -81,14 +81,14 @@ parameters, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(get("/hotels").param("thing", "somewhere"));
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.get
@@ -113,14 +113,14 @@ shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(get("/app/main/hotels/{id}").contextPath("/app").servletPath("/main"))
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.servlet.get
@@ -139,7 +139,7 @@ properties, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class MyWebTests {
@@ -157,7 +157,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
----

View File

@@ -10,7 +10,7 @@ responses, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// static import of MockMvcBuilders.standaloneSetup
@@ -23,7 +23,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
----
@@ -38,7 +38,7 @@ You can use it as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// static import of SharedHttpSessionConfigurer.sharedHttpSession
@@ -51,7 +51,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
----

View File

@@ -13,7 +13,7 @@ To set up MockMvc for testing a specific controller, use the following:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
class MyWebTests {
@@ -31,7 +31,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
class MyWebTests {
@@ -58,7 +58,7 @@ To set up MockMvc through Spring configuration, use the following:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig(locations = "my-servlet-context.xml")
class MyWebTests {
@@ -77,7 +77,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig(locations = ["my-servlet-context.xml"])
class MyWebTests {

View File

@@ -17,7 +17,7 @@ We can easily create an HtmlUnit `WebClient` that integrates with MockMvc by usi
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebClient webClient;
@@ -31,7 +31,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
lateinit var webClient: WebClient
@@ -63,14 +63,14 @@ message with the following:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
HtmlPage createMsgFormPage = webClient.getPage("http://localhost/messages/form");
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val createMsgFormPage = webClient.getPage("http://localhost/messages/form")
----
@@ -86,7 +86,7 @@ to create a message, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
HtmlForm form = createMsgFormPage.getHtmlElementById("messageForm");
HtmlTextInput summaryInput = createMsgFormPage.getHtmlElementById("summary");
@@ -99,7 +99,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val form = createMsgFormPage.getHtmlElementById("messageForm")
val summaryInput = createMsgFormPage.getHtmlElementById("summary")
@@ -118,7 +118,7 @@ assertions use the {assertj-docs}[AssertJ] library:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
assertThat(newMessagePage.getUrl().toString()).endsWith("/messages/123");
String id = newMessagePage.getHtmlElementById("id").getTextContent();
@@ -131,7 +131,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
assertThat(newMessagePage.getUrl().toString()).endsWith("/messages/123")
val id = newMessagePage.getHtmlElementById("id").getTextContent()
@@ -167,7 +167,7 @@ the Spring TestContext Framework. This approach is repeated in the following exa
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebClient webClient;
@@ -181,7 +181,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
lateinit var webClient: WebClient
@@ -200,7 +200,7 @@ We can also specify additional configuration options, as the following example s
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebClient webClient;
@@ -220,7 +220,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
lateinit var webClient: WebClient
@@ -246,7 +246,7 @@ instance separately and supplying it to the `MockMvcWebClientBuilder`, as follow
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
MockMvc mockMvc = MockMvcBuilders
.webAppContextSetup(context)
@@ -265,7 +265,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
----

View File

@@ -30,7 +30,7 @@ following repeated in multiple places within our tests:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
HtmlTextInput summaryInput = currentPage.getHtmlElementById("summary");
summaryInput.setValueAttribute(summary);
@@ -38,7 +38,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val summaryInput = currentPage.getHtmlElementById("summary")
summaryInput.setValueAttribute(summary)
@@ -53,7 +53,7 @@ ideally extract this code into its own method, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
public HtmlPage createMessage(HtmlPage currentPage, String summary, String text) {
setSummary(currentPage, summary);
@@ -68,7 +68,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
fun createMessage(currentPage: HtmlPage, summary:String, text:String) :HtmlPage{
setSummary(currentPage, summary);
@@ -91,7 +91,7 @@ represents the `HtmlPage` we are currently on, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
public class CreateMessagePage {
@@ -128,7 +128,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
class CreateMessagePage(private val currentPage: HtmlPage) {
@@ -175,7 +175,7 @@ We can easily create a Selenium WebDriver that integrates with MockMvc by using
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebDriver driver;
@@ -189,7 +189,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
lateinit var driver: WebDriver
@@ -222,14 +222,14 @@ message with the following:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
CreateMessagePage page = CreateMessagePage.to(driver);
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val page = CreateMessagePage.to(driver)
----
@@ -243,7 +243,7 @@ We can then fill out the form and submit it to create a message, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
ViewMessagePage viewMessagePage =
page.createMessage(ViewMessagePage.class, expectedSummary, expectedText);
@@ -251,7 +251,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val viewMessagePage =
page.createMessage(ViewMessagePage::class, expectedSummary, expectedText)
@@ -270,7 +270,7 @@ with HtmlUnit, but it is much easier with WebDriver. Consider the following
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
public class CreateMessagePage extends AbstractPage { // <1>
@@ -317,7 +317,7 @@ annotation to look up our submit button with a `css` selector (`input[type=submi
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
class CreateMessagePage(private val driver: WebDriver) : AbstractPage(driver) { // <1>
@@ -369,7 +369,7 @@ assertions use the {assertj-docs}[AssertJ] assertion library:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
assertThat(viewMessagePage.getMessage()).isEqualTo(expectedMessage);
assertThat(viewMessagePage.getSuccess()).isEqualTo("Successfully created a new message");
@@ -377,7 +377,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
assertThat(viewMessagePage.message).isEqualTo(expectedMessage)
assertThat(viewMessagePage.success).isEqualTo("Successfully created a new message")
@@ -393,7 +393,7 @@ example, it exposes a method that returns a `Message` object:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
public Message getMessage() throws ParseException {
Message message = new Message();
@@ -407,7 +407,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
fun getMessage() = Message(getId(), getCreated(), getSummary(), getText())
----
@@ -424,7 +424,7 @@ as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@AfterEach
void destroy() {
@@ -436,7 +436,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@AfterEach
fun destroy() {
@@ -462,7 +462,7 @@ the Spring TestContext Framework. This approach is repeated here, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebDriver driver;
@@ -476,7 +476,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
lateinit var driver: WebDriver
@@ -495,7 +495,7 @@ We can also specify additional configuration options, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebDriver driver;
@@ -515,7 +515,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
lateinit var driver: WebDriver
@@ -541,7 +541,7 @@ instance separately and supplying it to the `MockMvcHtmlUnitDriverBuilder`, as f
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
MockMvc mockMvc = MockMvcBuilders
.webAppContextSetup(context)
@@ -560,7 +560,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed
----

View File

@@ -12,7 +12,7 @@ With Spring MVC Test, we can easily test if we are able to create a `Message`, a
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
MockHttpServletRequestBuilder createMessage = post("/messages/")
.param("summary", "Spring Rocks")
@@ -25,7 +25,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
fun test() {
@@ -67,7 +67,7 @@ naive attempt might resemble the following:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
mockMvc.perform(get("/messages/form"))
.andExpect(xpath("//input[@name='summary']").exists())
@@ -76,7 +76,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
mockMvc.get("/messages/form").andExpect {
xpath("//input[@name='summary']") { exists() }
@@ -95,7 +95,7 @@ follows:
Java::
+
[[mockmvc-server-htmlunit-mock-mvc-test]]
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
String summaryParamName = "summary";
String textParamName = "text";
@@ -114,7 +114,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val summaryParamName = "summary";
val textParamName = "text";

View File

@@ -10,7 +10,7 @@ example shows how to do so:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
RestTemplate restTemplate = new RestTemplate();
@@ -24,7 +24,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val restTemplate = RestTemplate()
@@ -55,14 +55,14 @@ requests are allowed to come in any order. The following example uses `ignoreExp
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
server = MockRestServiceServer.bindTo(restTemplate).ignoreExpectOrder(true).build();
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
server = MockRestServiceServer.bindTo(restTemplate).ignoreExpectOrder(true).build()
----
@@ -77,7 +77,7 @@ argument that specifies a count range (for example, `once`, `manyTimes`, `max`,
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
RestTemplate restTemplate = new RestTemplate();
@@ -92,7 +92,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val restTemplate = RestTemplate()
@@ -122,7 +122,7 @@ logic but without running a server. The following example shows how to do so:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
this.restTemplate = new RestTemplate(new MockMvcClientHttpRequestFactory(mockMvc));
@@ -132,7 +132,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build()
restTemplate = RestTemplate(MockMvcClientHttpRequestFactory(mockMvc))
@@ -149,7 +149,7 @@ of mocking the response. The following example shows how to do that through
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
RestTemplate restTemplate = new RestTemplate();
@@ -167,7 +167,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val restTemplate = RestTemplate()

View File

@@ -32,7 +32,7 @@ published while invoking a method in a Spring-managed component:
======
Java::
+
[source,java,indent=0,subs="verbatim",role="primary"]
[source,java,indent=0,subs="verbatim"]
----
@SpringJUnitConfig(/* ... */)
@RecordApplicationEvents // <1>
@@ -60,7 +60,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim",role="secondary"]
[source,kotlin,indent=0,subs="verbatim"]
----
@SpringJUnitConfig(/* ... */)
@RecordApplicationEvents // <1>

View File

@@ -20,7 +20,7 @@ a field or setter method, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
class MyTest {
@@ -35,7 +35,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
class MyTest {
@@ -57,7 +57,7 @@ the web application context into your test, as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig // <1>
class MyWebAppTest {
@@ -73,7 +73,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig // <1>
class MyWebAppTest {

View File

@@ -57,7 +57,7 @@ example, via `@Value("${redis.host}")` and `@Value("${redis.port}")`, respective
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(/* ... */)
@Testcontainers
@@ -80,7 +80,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(/* ... */)
@Testcontainers
@@ -117,7 +117,7 @@ will be dynamically retrieved from the `ApiServer` bean.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Configuration
class TestConfig {
@@ -134,7 +134,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Configuration
class TestConfig {

View File

@@ -63,7 +63,7 @@ Consider two examples with XML configuration and `@Configuration` classes:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from "classpath:/app-config.xml"
@@ -83,7 +83,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from "classpath:/app-config.xml"
@@ -128,7 +128,7 @@ integration test with `@Configuration` classes instead of XML:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Configuration
@Profile("dev")
@@ -147,7 +147,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Configuration
@Profile("dev")
@@ -169,7 +169,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Configuration
@Profile("production")
@@ -185,7 +185,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Configuration
@Profile("production")
@@ -204,7 +204,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Configuration
@Profile("default")
@@ -222,7 +222,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Configuration
@Profile("default")
@@ -243,7 +243,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Configuration
public class TransferServiceConfig {
@@ -269,7 +269,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Configuration
class TransferServiceConfig {
@@ -299,7 +299,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig({
TransferServiceConfig.class,
@@ -321,7 +321,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(
TransferServiceConfig::class,
@@ -373,7 +373,7 @@ xref:testing/testcontext-framework/support-classes.adoc#testcontext-junit-jupite
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig({
TransferServiceConfig.class,
@@ -387,7 +387,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(
TransferServiceConfig::class,
@@ -404,7 +404,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// "dev" profile inherited from superclass
class TransferServiceTest extends AbstractIntegrationTest {
@@ -421,7 +421,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// "dev" profile inherited from superclass
class TransferServiceTest : AbstractIntegrationTest() {
@@ -444,7 +444,7 @@ disable the inheritance of active profiles, as the following example shows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// "dev" profile overridden with "production"
@ActiveProfiles(profiles = "production", inheritProfiles = false)
@@ -455,7 +455,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// "dev" profile overridden with "production"
@ActiveProfiles("production", inheritProfiles = false)
@@ -486,7 +486,7 @@ The following example demonstrates how to implement and register a custom
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// "dev" profile overridden programmatically via a custom resolver
@ActiveProfiles(
@@ -499,7 +499,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// "dev" profile overridden programmatically via a custom resolver
@ActiveProfiles(
@@ -515,7 +515,7 @@ Kotlin::
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
public class OperatingSystemActiveProfilesResolver implements ActiveProfilesResolver {
@@ -530,7 +530,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
class OperatingSystemActiveProfilesResolver : ActiveProfilesResolver {

View File

@@ -18,7 +18,7 @@ The following example shows how to specify Groovy configuration files:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from "/AppConfig.groovy" and
@@ -32,7 +32,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from "/AppConfig.groovy" and
@@ -58,7 +58,7 @@ the default:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from
@@ -72,7 +72,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from
@@ -101,7 +101,7 @@ The following listing shows how to combine both in an integration test:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from
@@ -114,7 +114,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from

View File

@@ -39,7 +39,7 @@ lowest context in the hierarchy). The following listing shows this configuration
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@WebAppConfiguration
@@ -58,7 +58,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@WebAppConfiguration
@@ -95,7 +95,7 @@ configuration scenario:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@WebAppConfiguration
@@ -111,7 +111,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@WebAppConfiguration
@@ -146,7 +146,7 @@ The following listing shows this configuration scenario:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@ContextHierarchy({
@@ -163,7 +163,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@ContextHierarchy(
@@ -192,7 +192,7 @@ shows this configuration scenario:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@ContextHierarchy({
@@ -212,7 +212,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@ContextHierarchy(

View File

@@ -30,7 +30,7 @@ another and use both its own configuration file and the superclass's configurati
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from "/base-config.xml"
@@ -52,7 +52,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from "/base-config.xml"
@@ -84,7 +84,7 @@ another and use both its own configuration class and the superclass's configurat
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// ApplicationContext will be loaded from BaseConfig
@SpringJUnitConfig(BaseConfig.class) // <1>
@@ -103,7 +103,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// ApplicationContext will be loaded from BaseConfig
@SpringJUnitConfig(BaseConfig::class) // <1>
@@ -133,7 +133,7 @@ extend another and use both its own initializer and the superclass's initializer
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// ApplicationContext will be initialized by BaseInitializer
@SpringJUnitConfig(initializers = BaseInitializer.class) // <1>
@@ -153,7 +153,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// ApplicationContext will be initialized by BaseInitializer
@SpringJUnitConfig(initializers = [BaseInitializer::class]) // <1>

View File

@@ -17,7 +17,7 @@ order in which the initializers are invoked depends on whether they implement Sp
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from TestConfig
@@ -33,7 +33,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from TestConfig
@@ -59,7 +59,7 @@ files or configuration classes. The following example shows how to do so:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be initialized by EntireAppInitializer
@@ -73,7 +73,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be initialized by EntireAppInitializer

View File

@@ -10,7 +10,7 @@ that contains references to component classes. The following example shows how t
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from AppConfig and TestConfig
@@ -23,7 +23,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from AppConfig and TestConfig
@@ -73,7 +73,7 @@ class:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig <1>
// ApplicationContext will be loaded from the static nested Config class
@@ -105,7 +105,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig <1>
// ApplicationContext will be loaded from the nested Config class

View File

@@ -50,7 +50,7 @@ The following example uses a test properties file:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource("/test.properties") // <1>
@@ -62,7 +62,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource("/test.properties") // <1>
@@ -106,7 +106,7 @@ The following example sets two inlined properties:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource(properties = {"timezone = GMT", "port = 4242"}) // <1>
@@ -118,7 +118,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource(properties = ["timezone = GMT", "port = 4242"]) // <1>
@@ -137,7 +137,7 @@ a text block:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource(properties = """
@@ -152,7 +152,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource(properties = ["""
@@ -218,7 +218,7 @@ to specify properties both in a file and inline:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource(
@@ -232,7 +232,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestPropertySource("/test.properties",
@@ -275,7 +275,7 @@ properties in both a subclass and its superclass by using `properties` files:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@TestPropertySource("base.properties")
@ContextConfiguration
@@ -292,7 +292,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@TestPropertySource("base.properties")
@ContextConfiguration
@@ -317,7 +317,7 @@ to define properties in both a subclass and its superclass by using inline prope
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@TestPropertySource(properties = "key1 = value1")
@ContextConfiguration
@@ -334,7 +334,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@TestPropertySource(properties = ["key1 = value1"])
@ContextConfiguration

View File

@@ -22,7 +22,7 @@ managed per test method by the `ServletTestExecutionListener`.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig
class WacTests {
@@ -51,7 +51,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig
class WacTests {

View File

@@ -34,7 +34,7 @@ framework's support for convention over configuration:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@@ -51,7 +51,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@@ -82,7 +82,7 @@ The following example shows how to explicitly declare a resource base path with
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@@ -98,7 +98,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@@ -125,7 +125,7 @@ annotations by specifying a Spring resource prefix:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@@ -141,7 +141,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)

View File

@@ -14,7 +14,7 @@ path that represents a resource URL (i.e., a path prefixed with `classpath:`, `f
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from "/app-config.xml" and
@@ -28,7 +28,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from "/app-config.xml" and
@@ -52,7 +52,7 @@ demonstrated in the following example:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@ContextConfiguration({"/app-config.xml", "/test-config.xml"}) <1>
@@ -64,7 +64,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
@ContextConfiguration("/app-config.xml", "/test-config.xml") // <1>
@@ -88,7 +88,7 @@ example shows how to do so:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from
@@ -102,7 +102,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from

View File

@@ -50,7 +50,7 @@ specifies SQL scripts for a test schema and test data, sets the statement separa
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Test
void databaseTest() {
@@ -66,7 +66,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
fun databaseTest() {
@@ -132,7 +132,7 @@ within a JUnit Jupiter based integration test class:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
@Sql("/test-schema.sql")
@@ -153,7 +153,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
@Sql("/test-schema.sql")
@@ -210,7 +210,7 @@ The following example shows how to use `@Sql` as a repeatable annotation:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql(scripts = "/test-schema.sql", config = @SqlConfig(commentPrefix = "`"))
@@ -222,7 +222,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql("/test-schema.sql", config = SqlConfig(commentPrefix = "`"))
@@ -244,7 +244,7 @@ but you may need to use `@SqlGroup` for compatibility with other JVM languages.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Test
@SqlGroup({
@@ -258,7 +258,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
@SqlGroup(
@@ -283,7 +283,7 @@ database state), you can set the `executionPhase` attribute in `@Sql` to
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql(
@@ -303,7 +303,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@Test
@Sql("create-test-data.sql",
@@ -329,7 +329,7 @@ declaration to `BEFORE_TEST_CLASS` or `AFTER_TEST_CLASS`, as the following examp
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
@Sql(scripts = "/test-schema.sql", executionPhase = BEFORE_TEST_CLASS)
@@ -350,7 +350,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
@Sql("/test-schema.sql", executionPhase = BEFORE_TEST_CLASS)
@@ -427,7 +427,7 @@ that uses JUnit Jupiter and transactional tests with `@Sql`:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestDatabaseConfig.class)
@Transactional
@@ -461,7 +461,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestDatabaseConfig::class)
@Transactional

View File

@@ -58,7 +58,7 @@ uses `@Autowired` for field injection:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// specifies the Spring configuration to load for this test fixture
@@ -79,7 +79,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// specifies the Spring configuration to load for this test fixture
@@ -106,7 +106,7 @@ follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
// specifies the Spring configuration to load for this test fixture
@@ -131,7 +131,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension::class)
// specifies the Spring configuration to load for this test fixture
@@ -192,7 +192,7 @@ method in the superclass as well):
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// ...
@@ -207,7 +207,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// ...

View File

@@ -24,7 +24,7 @@ run with the custom Spring `Runner`:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@RunWith(SpringRunner.class)
@TestExecutionListeners({})
@@ -39,7 +39,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@RunWith(SpringRunner::class)
@TestExecutionListeners
@@ -83,7 +83,7 @@ to declare these rules in an integration test:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// Optionally specify a non-Spring Runner via @RunWith(...)
@ContextConfiguration
@@ -104,7 +104,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Optionally specify a non-Spring Runner via @RunWith(...)
@ContextConfiguration
@@ -193,7 +193,7 @@ The following code listing shows how to configure a test class to use the
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// Instructs JUnit Jupiter to extend the test with Spring support.
@ExtendWith(SpringExtension.class)
@@ -210,7 +210,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Instructs JUnit Jupiter to extend the test with Spring support.
@ExtendWith(SpringExtension::class)
@@ -237,7 +237,7 @@ used in the previous example:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// Instructs Spring to register the SpringExtension with JUnit
// Jupiter and load an ApplicationContext from TestConfig.class
@@ -253,7 +253,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Instructs Spring to register the SpringExtension with JUnit
// Jupiter and load an ApplicationContext from TestConfig.class
@@ -275,7 +275,7 @@ Similarly, the following example uses `@SpringJUnitWebConfig` to create a
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// Instructs Spring to register the SpringExtension with JUnit
// Jupiter and load a WebApplicationContext from TestWebConfig.class
@@ -291,7 +291,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Instructs Spring to register the SpringExtension with JUnit
// Jupiter and load a WebApplicationContext from TestWebConfig::class
@@ -376,7 +376,7 @@ In the following example, Spring injects the `OrderService` bean from the
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
class OrderServiceIntegrationTests {
@@ -394,7 +394,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
class OrderServiceIntegrationTests @Autowired constructor(private val orderService: OrderService){
@@ -414,7 +414,7 @@ xref:testing/annotations/integration-junit-jupiter.adoc#integration-testing-anno
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
class OrderServiceIntegrationTests {
@@ -431,7 +431,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
class OrderServiceIntegrationTests(val orderService:OrderService) {
@@ -455,7 +455,7 @@ loaded from `TestConfig.class` into the `deleteOrder()` test method:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
class OrderServiceIntegrationTests {
@@ -469,7 +469,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
class OrderServiceIntegrationTests {
@@ -493,7 +493,7 @@ into the `placeOrderRepeatedly()` test method simultaneously.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
class OrderServiceIntegrationTests {
@@ -510,7 +510,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
class OrderServiceIntegrationTests {
@@ -561,7 +561,7 @@ which annotations can be inherited in `@Nested` test classes.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
class GreetingServiceTests {
@@ -590,7 +590,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
class GreetingServiceTests {

View File

@@ -45,7 +45,7 @@ following.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// Switch to default listeners
@TestExecutionListeners(
@@ -59,7 +59,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// Switch to default listeners
@TestExecutionListeners(
@@ -116,7 +116,7 @@ listeners. The following listing demonstrates this style of configuration:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestExecutionListeners({
@@ -135,7 +135,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestExecutionListeners(
@@ -183,7 +183,7 @@ be replaced with the following:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestExecutionListeners(
@@ -197,7 +197,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration
@TestExecutionListeners(

View File

@@ -106,7 +106,7 @@ a Hibernate-based `UserRepository`:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig.class)
@Transactional
@@ -150,7 +150,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(TestConfig::class)
@Transactional
@@ -223,7 +223,7 @@ for further details.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration(classes = TestConfig.class)
public class ProgrammaticTransactionManagementTests extends
@@ -255,7 +255,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ContextConfiguration(classes = [TestConfig::class])
class ProgrammaticTransactionManagementTests : AbstractTransactionalJUnit4SpringContextTests() {
@@ -316,7 +316,7 @@ example.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@BeforeTransaction
void verifyInitialDatabaseState(@Autowired DataSource dataSource) {
@@ -326,7 +326,7 @@ void verifyInitialDatabaseState(@Autowired DataSource dataSource) {
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@BeforeTransaction
fun verifyInitialDatabaseState(@Autowired dataSource: DataSource) {
@@ -375,7 +375,7 @@ following example shows the relevant annotations:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
@Transactional(transactionManager = "txMgr")
@@ -414,7 +414,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig
@Transactional(transactionManager = "txMgr")
@@ -469,7 +469,7 @@ session:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// ...
@@ -497,7 +497,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// ...
@@ -530,7 +530,7 @@ The following example shows matching methods for JPA:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// ...
@@ -558,7 +558,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// ...
@@ -612,7 +612,7 @@ example.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// ...
@@ -640,7 +640,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// ...

View File

@@ -52,7 +52,7 @@ inputs for the username and password. The following listing shows how to do so:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig
class RequestScopedBeanTests {
@@ -73,7 +73,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig
class RequestScopedBeanTests {
@@ -130,7 +130,7 @@ configured theme. The following example shows how to do so:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig
class SessionScopedBeanTests {
@@ -150,7 +150,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitWebConfig
class SessionScopedBeanTests {

View File

@@ -33,7 +33,7 @@ to handle requests:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebTestClient client =
WebTestClient.bindToController(new TestController()).build();
@@ -41,7 +41,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val client = WebTestClient.bindToController(TestController()).build()
----
@@ -57,7 +57,7 @@ xref:testing/mockmvc.adoc[MockMvc] to handle requests:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
WebTestClient client =
MockMvcWebTestClient.bindToController(new TestController()).build();
@@ -65,7 +65,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val client = MockMvcWebTestClient.bindToController(TestController()).build()
----
@@ -89,7 +89,7 @@ requests:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(WebConfig.class) // <1>
class MyTests {
@@ -108,7 +108,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@SpringJUnitConfig(WebConfig::class) // <1>
class MyTests {
@@ -135,7 +135,7 @@ requests:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@WebAppConfiguration("classpath:META-INF/web-resources") // <1>
@@ -162,7 +162,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
@ExtendWith(SpringExtension.class)
@WebAppConfiguration("classpath:META-INF/web-resources") // <1>
@@ -203,7 +203,7 @@ create a server setup to handle requests:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
RouterFunction<?> route = ...
client = WebTestClient.bindToRouterFunction(route).build();
@@ -211,7 +211,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val route: RouterFunction<*> = ...
val client = WebTestClient.bindToRouterFunction(route).build()
@@ -232,14 +232,14 @@ This setup connects to a running server to perform full, end-to-end HTTP tests:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client = WebTestClient.bindToServer().baseUrl("http://localhost:8080").build();
----
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client = WebTestClient.bindToServer().baseUrl("http://localhost:8080").build()
----
@@ -260,7 +260,7 @@ follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client = WebTestClient.bindToController(new TestController())
.configureClient()
@@ -270,7 +270,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client = WebTestClient.bindToController(TestController())
.configureClient()
@@ -299,7 +299,7 @@ To assert the response status and headers, use the following:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/1")
.accept(MediaType.APPLICATION_JSON)
@@ -310,7 +310,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/1")
.accept(MediaType.APPLICATION_JSON)
@@ -329,7 +329,7 @@ JUnit Jupiter.
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/1")
.accept(MediaType.APPLICATION_JSON)
@@ -342,7 +342,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/1")
.accept(MediaType.APPLICATION_JSON)
@@ -366,7 +366,7 @@ And perform assertions on the resulting higher level Object(s):
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons")
.exchange()
@@ -376,7 +376,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.reactive.server.expectBodyList
@@ -394,7 +394,7 @@ perform any other assertions:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.reactive.server.expectBody
@@ -409,7 +409,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/1")
.exchange()
@@ -427,7 +427,7 @@ Or you can exit the workflow and obtain an `EntityExchangeResult`:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
EntityExchangeResult<Person> result = client.get().uri("/persons/1")
.exchange()
@@ -438,7 +438,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.reactive.server.expectBody
@@ -466,7 +466,7 @@ If the response is not expected to have content, you can assert that as follows:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client.post().uri("/persons")
.body(personMono, Person.class)
@@ -477,7 +477,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client.post().uri("/persons")
.bodyValue(person)
@@ -494,7 +494,7 @@ any assertions:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/123")
.exchange()
@@ -504,7 +504,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/123")
.exchange()
@@ -527,7 +527,7 @@ To verify the full JSON content with https://jsonassert.skyscreamer.org[JSONAsse
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/1")
.exchange()
@@ -538,7 +538,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons/1")
.exchange()
@@ -554,7 +554,7 @@ To verify JSON content with https://github.com/jayway/JsonPath[JSONPath]:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons")
.exchange()
@@ -566,7 +566,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
client.get().uri("/persons")
.exchange()
@@ -590,7 +590,7 @@ obtain a `FluxExchangeResult`:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
FluxExchangeResult<MyEvent> result = client.get().uri("/events")
.accept(TEXT_EVENT_STREAM)
@@ -602,7 +602,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
import org.springframework.test.web.reactive.server.returnResult
@@ -620,7 +620,7 @@ Now you're ready to consume the response stream with `StepVerifier` from `reacto
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
Flux<Event> eventFlux = result.getResponseBody();
@@ -634,7 +634,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
val eventFlux = result.getResponseBody()
@@ -662,7 +662,7 @@ obtaining an `ExchangeResult` after asserting the body:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
// For a response with a body
EntityExchangeResult<Person> result = client.get().uri("/persons/1")
@@ -679,7 +679,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
// For a response with a body
val result = client.get().uri("/persons/1")
@@ -701,7 +701,7 @@ Then switch to MockMvc server response assertions:
======
Java::
+
[source,java,indent=0,subs="verbatim,quotes",role="primary"]
[source,java,indent=0,subs="verbatim,quotes"]
----
MockMvcWebTestClient.resultActionsFor(result)
.andExpect(model().attribute("integer", 3))
@@ -710,7 +710,7 @@ Java::
Kotlin::
+
[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
[source,kotlin,indent=0,subs="verbatim,quotes"]
----
MockMvcWebTestClient.resultActionsFor(result)
.andExpect(model().attribute("integer", 3))