From 3dc93641dd9a503f502870346322e69b41b6f53e Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 1 Oct 2018 14:25:23 +0100 Subject: [PATCH] Clarify documentation on using Spock 1.0 Closes gh-14612 --- .../main/asciidoc/spring-boot-features.adoc | 17 ++---- .../spock/SpockTestRestTemplateExample.java | 57 ------------------- 2 files changed, 4 insertions(+), 70 deletions(-) delete mode 100644 spring-boot-docs/src/main/java/org/springframework/boot/test/spock/SpockTestRestTemplateExample.java diff --git a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index 32df8084862..08d1eb3cef6 100644 --- a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -6128,19 +6128,10 @@ NOTE: Spring Boot provides dependency management for Spock 1.0. If you wish to u `spock.version` property>> in your `build.gradle` or `pom.xml` file. When using Spock 1.1, the annotations <> can only be used and you can annotate your `Specification` with -`@SpringBootTest` to suit the needs of your tests. - -When using Spock 1.0, `@SpringBootTest` will not work for a web project. You need to use -`@SpringApplicationConfiguration` and `@WebIntegrationTest(randomPort = true)`. Being -unable to use `@SpringBootTest` means that you also lose the auto-configured -`TestRestTemplate` bean. You can create an equivalent bean yourself using the following -configuration: - -[source,java,indent=0] ----- -include::{code-examples}/test/spock/SpockTestRestTemplateExample.java[tag=test-rest-template-configuration] ----- +described above>> can be used and you can annotate your `Specification` with +`@SpringBootTest` to suit the needs of your tests. When using Spock 1.0, `@SpringBootTest` +will not work for a web project. If you wish to use Spock to test a web project, you +should use Spock 1.1 by overriding the `spock.version` property as described above. diff --git a/spring-boot-docs/src/main/java/org/springframework/boot/test/spock/SpockTestRestTemplateExample.java b/spring-boot-docs/src/main/java/org/springframework/boot/test/spock/SpockTestRestTemplateExample.java deleted file mode 100644 index 759d7402e53..00000000000 --- a/spring-boot-docs/src/main/java/org/springframework/boot/test/spock/SpockTestRestTemplateExample.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2012-2018 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 - * - * http://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. - */ - -package org.springframework.boot.test.spock; - -import org.springframework.beans.factory.ObjectProvider; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.web.client.LocalHostUriTemplateHandler; -import org.springframework.boot.test.web.client.TestRestTemplate; -import org.springframework.boot.web.client.RestTemplateBuilder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; - -/** - * Example configuration for using TestRestTemplate with Spock 1.0 when - * {@link SpringBootTest} cannot be used. - * - * @author Andy Wilkinson - */ -public class SpockTestRestTemplateExample { - - /** - * Test configuration for a {@link TestRestTemplate}. - */ - // tag::test-rest-template-configuration[] - @Configuration - static class TestRestTemplateConfiguration { - - @Bean - public TestRestTemplate testRestTemplate( - ObjectProvider builderProvider, - Environment environment) { - RestTemplateBuilder builder = builderProvider.getIfAvailable(); - TestRestTemplate template = (builder != null) - ? new TestRestTemplate(builder.build()) : new TestRestTemplate(); - template.setUriTemplateHandler(new LocalHostUriTemplateHandler(environment)); - return template; - } - - } - // end::test-rest-template-configuration[] - -}