From e356d428f5332b774f49dd0b232db85269b7de6b Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Fri, 26 Jun 2020 10:26:55 +0200 Subject: [PATCH] Migrated to JUNIT5 --- .../restdocs/http-server/build.gradle | 5 +- .../standalone/restdocs/http-server/pom.xml | 1 - .../fraud/FraudBaseWithStandaloneSetup.java | 42 ++++++++++------- .../fraud/FraudBaseWithWebAppSetup.java | 46 +++++++++++-------- .../com/example/fraud/StubGeneratorTests.java | 9 ++-- .../example/fraud/XmlStubGeneratorTests.java | 5 +- 6 files changed, 60 insertions(+), 48 deletions(-) diff --git a/samples/standalone/restdocs/http-server/build.gradle b/samples/standalone/restdocs/http-server/build.gradle index 302902f364..db891ccfe5 100644 --- a/samples/standalone/restdocs/http-server/build.gradle +++ b/samples/standalone/restdocs/http-server/build.gradle @@ -73,7 +73,6 @@ contracts { baseClassMapping('.*standalone.*', 'com.example.fraud.FraudBaseWithStandaloneSetup') baseClassMapping('.*webapp.*', 'com.example.fraud.FraudBaseWithWebAppSetup') } - testFramework("JUNIT") } generateClientStubs.enabled = false @@ -88,6 +87,10 @@ artifacts { archives stubsJar } +test { + useJUnitPlatform() +} + task copySnippets(type: Copy, dependsOn: test) { from "target/snippets/stubs" into "${project.buildDir}/stubs/META-INF/${project.group}/${project.name}/${project.version}/mappings" diff --git a/samples/standalone/restdocs/http-server/pom.xml b/samples/standalone/restdocs/http-server/pom.xml index 1c06a336e9..438231a521 100644 --- a/samples/standalone/restdocs/http-server/pom.xml +++ b/samples/standalone/restdocs/http-server/pom.xml @@ -148,7 +148,6 @@ - JUNIT diff --git a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithStandaloneSetup.java b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithStandaloneSetup.java index e17c8117c8..5af34819b5 100644 --- a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithStandaloneSetup.java +++ b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithStandaloneSetup.java @@ -1,34 +1,44 @@ +/* + * Copyright 2013-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // tag::base_class[] package com.example.fraud; import io.restassured.module.mockmvc.RestAssuredMockMvc; -import org.junit.Before; -import org.junit.Rule; -import org.junit.rules.TestName; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.restdocs.JUnitRestDocumentation; +import org.springframework.restdocs.RestDocumentationContextProvider; +import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; +@ExtendWith(RestDocumentationExtension.class) public abstract class FraudBaseWithStandaloneSetup { - private static final String OUTPUT = "target/generated-snippets"; - - @Rule - public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation(OUTPUT); - - @Rule - public TestName testName = new TestName(); - - @Before - public void setup() { + @BeforeEach + public void setup(TestInfo info, RestDocumentationContextProvider restDocumentation) { RestAssuredMockMvc.standaloneSetup(MockMvcBuilders .standaloneSetup(new FraudDetectionController()) - .apply(documentationConfiguration(this.restDocumentation)) + .apply(documentationConfiguration(restDocumentation)) .alwaysDo(document( - getClass().getSimpleName() + "_" + testName.getMethodName()))); + getClass().getSimpleName() + "_" + info.getDisplayName()))); } } diff --git a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithWebAppSetup.java b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithWebAppSetup.java index cb979407c5..5a7e68a9ba 100644 --- a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithWebAppSetup.java +++ b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/FraudBaseWithWebAppSetup.java @@ -1,44 +1,50 @@ +/* + * Copyright 2013-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // tag::base_class[] package com.example.fraud; import io.restassured.module.mockmvc.RestAssuredMockMvc; -import org.junit.Before; -import org.junit.Rule; -import org.junit.rules.TestName; -import org.junit.runner.RunWith; - +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.restdocs.JUnitRestDocumentation; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.restdocs.RestDocumentationContextProvider; +import org.springframework.restdocs.RestDocumentationExtension; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration; -@RunWith(SpringRunner.class) +@ExtendWith(RestDocumentationExtension.class) @SpringBootTest(classes = Application.class) public abstract class FraudBaseWithWebAppSetup { - private static final String OUTPUT = "target/generated-snippets"; - - @Rule - public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation(OUTPUT); - - @Rule - public TestName testName = new TestName(); - @Autowired private WebApplicationContext context; - @Before - public void setup() { + @BeforeEach + public void setup(TestInfo info, RestDocumentationContextProvider restDocumentation) { RestAssuredMockMvc.mockMvc(MockMvcBuilders.webAppContextSetup(this.context) - .apply(documentationConfiguration(this.restDocumentation)) + .apply(documentationConfiguration(restDocumentation)) .alwaysDo(document( - getClass().getSimpleName() + "_" + testName.getMethodName())) + getClass().getSimpleName() + "_" + info.getDisplayName())) .build()); } diff --git a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/StubGeneratorTests.java b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/StubGeneratorTests.java index dae991e190..41e5d826f6 100644 --- a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/StubGeneratorTests.java +++ b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/StubGeneratorTests.java @@ -20,9 +20,8 @@ import java.math.BigDecimal; import com.example.fraud.model.FraudCheck; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +32,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.json.JacksonTester; import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -41,7 +39,6 @@ import static org.springframework.cloud.contract.wiremock.restdocs.WireMockRestD import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -@RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) @AutoConfigureRestDocs @AutoConfigureMockMvc @@ -53,7 +50,7 @@ public class StubGeneratorTests { private JacksonTester json; - @Before + @BeforeEach public void setup() { ObjectMapper objectMappper = new ObjectMapper(); // Possibly configure the mapper diff --git a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/XmlStubGeneratorTests.java b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/XmlStubGeneratorTests.java index 9085a8feb8..628ef802fb 100644 --- a/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/XmlStubGeneratorTests.java +++ b/samples/standalone/restdocs/http-server/src/test/java/com/example/fraud/XmlStubGeneratorTests.java @@ -16,9 +16,7 @@ package com.example.fraud; - -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; @@ -34,7 +32,6 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) @AutoConfigureRestDocs(outputDir = "target/snippets") @AutoConfigureMockMvc