diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvc.java b/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvc.java index 8ebabae219..236971b09d 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvc.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvc.java @@ -33,11 +33,14 @@ import org.springframework.web.context.request.ServletRequestAttributes; /** * Main entry point for server-side Spring MVC test support. * - *
Below is an example: + *
- * static imports:
- * MockMvcBuilders.*, MockMvcRequestBuilders.*, MockMvcResultMatchers.*
+ * import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+ * import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+ * import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
+ *
+ * // ...
*
* WebApplicationContext wac = ...;
*
diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvcBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvcBuilder.java
index 2e120b9a94..d1edb021bf 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvcBuilder.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/MockMvcBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2012 the original author or authors.
+ * Copyright 2002-2015 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.
@@ -17,10 +17,10 @@
package org.springframework.test.web.servlet;
/**
- * Builds a {@link MockMvc}.
+ * Builds a {@link MockMvc} instance.
*
- * See static, factory methods in
- * {@code org.springframework.test.web.server.setup.MockMvcBuilders}.
+ *
See static factory methods in
+ * {@link org.springframework.test.web.servlet.setup.MockMvcBuilders MockMvcBuilders}.
*
* @author Rossen Stoyanchev
* @since 3.2
diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/RequestBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/RequestBuilder.java
index 9754a96c6b..c3f02ee2f3 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/RequestBuilder.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/RequestBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2012 the original author or authors.
+ * Copyright 2002-2015 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.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.springframework.test.web.servlet;
import javax.servlet.ServletContext;
@@ -22,8 +23,8 @@ import org.springframework.mock.web.MockHttpServletRequest;
/**
* Builds a {@link MockHttpServletRequest}.
*
- *
See static, factory methods in
- * {@code org.springframework.test.web.server.request.MockMvcRequestBuilders}.
+ *
See static factory methods in
+ * {@link org.springframework.test.web.servlet.request.MockMvcRequestBuilders MockMvcRequestBuilders}.
*
* @author Arjen Poutsma
* @author Rossen Stoyanchev
diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultActions.java b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultActions.java
index 90cbcb5041..083611f611 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultActions.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultActions.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2012 the original author or authors.
+ * Copyright 2002-2015 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.
@@ -21,8 +21,8 @@ package org.springframework.test.web.servlet;
* request.
*
*
See static factory methods in
- * {@code org.springframework.test.web.servlet.result.MockMvcResultMatchers}
- * {@code org.springframework.test.web.servlet.result.MockMvcResultHandlers}
+ * {@link org.springframework.test.web.servlet.result.MockMvcResultMatchers} and
+ * {@link org.springframework.test.web.servlet.result.MockMvcResultHandlers}.
*
* @author Rossen Stoyanchev
* @since 3.2
@@ -30,7 +30,9 @@ package org.springframework.test.web.servlet;
public interface ResultActions {
/**
- * Provide an expectation. For example:
+ * Perform an expectation.
+ *
+ *
Example
*
* static imports: MockMvcRequestBuilders.*, MockMvcResultMatchers.*
*
@@ -51,7 +53,9 @@ public interface ResultActions {
ResultActions andExpect(ResultMatcher matcher) throws Exception;
/**
- * Provide a general action. For example:
+ * Perform a general action.
+ *
+ * Example
*
* static imports: MockMvcRequestBuilders.*, MockMvcResultMatchers.*
*
diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java
index 1f5ee35b6e..ea21c16c4b 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2012 the original author or authors.
+ * Copyright 2002-2015 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.
@@ -17,27 +17,37 @@
package org.springframework.test.web.servlet;
/**
- * Executes a generic action (e.g. printing debug information) on the result of
- * an executed request.
+ * A {@code ResultHandler} performs a generic action on the result of an
+ * executed request — for example, printing debug information.
*
* See static factory methods in
- * {@code org.springframework.test.web.server.result.MockMvcResultHandlers}.
+ * {@link org.springframework.test.web.servlet.result.MockMvcResultHandlers
+ * MockMvcResultHandlers}.
*
- *
Example:
+ *
Example
*
*
- * static imports: MockMvcRequestBuilders.*, MockMvcResultHandlers.*
+ * import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+ * import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;
+ * import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
+ *
+ * // ...
+ *
+ * WebApplicationContext wac = ...;
+ *
+ * MockMvc mockMvc = webAppContextSetup(wac).build();
*
* mockMvc.perform(get("/form")).andDo(print());
*
*
* @author Rossen Stoyanchev
+ * @author Sam Brannen
* @since 3.2
*/
public interface ResultHandler {
/**
- * Apply the action on the given result.
+ * Perform an action on the given result.
*
* @param result the result of the executed request
* @throws Exception if a failure occurs
diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java
index cc73bcc395..f781ba19c0 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/ResultMatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2012 the original author or authors.
+ * Copyright 2002-2015 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.
@@ -17,22 +17,33 @@
package org.springframework.test.web.servlet;
/**
- * Matches the result of an executed request against some expectation.
+ * A {@code ResultMatcher} matches the result of an executed request against
+ * some expectation.
*
* See static factory methods in
- * {@code org.springframework.test.web.server.result.MockMvcResultMatchers}.
+ * {@link org.springframework.test.web.servlet.result.MockMvcResultMatchers
+ * MockMvcResultMatchers}.
*
- *
Example:
+ *
Example Using Status and Content Result Matchers
*
*
- * static imports: MockMvcRequestBuilders.*, MockMvcResultMatchers.*
+ * import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+ * import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+ * import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
+ *
+ * // ...
+ *
+ * WebApplicationContext wac = ...;
+ *
+ * MockMvc mockMvc = webAppContextSetup(wac).build();
*
* mockMvc.perform(get("/form"))
- * .andExpect(status.isOk())
+ * .andExpect(status().isOk())
* .andExpect(content().mimeType(MediaType.APPLICATION_JSON));
*
*
* @author Rossen Stoyanchev
+ * @author Sam Brannen
* @since 3.2
*/
public interface ResultMatcher {
diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockMvcRequestBuilders.java b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockMvcRequestBuilders.java
index 85b2c98b84..37ffa16723 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockMvcRequestBuilders.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockMvcRequestBuilders.java
@@ -21,7 +21,6 @@ import javax.servlet.ServletContext;
import org.springframework.http.HttpMethod;
import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockMultipartHttpServletRequest;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.RequestBuilder;
@@ -33,10 +32,6 @@ import org.springframework.test.web.servlet.RequestBuilder;
* {@link org.springframework.mock.web.MockServletContext MockServletContext}
* that was created by the Spring TestContext Framework.
*
- * Methods in this class that return a {@link MockHttpServletRequestBuilder}
- * will reuse a {@link MockHttpServletRequest} that was created by the Spring
- * TestContext Framework.
- *
*
Eclipse Users
* Consider adding this class as a Java editor favorite. To navigate to
* this setting, open the Preferences and type "favorites".
@@ -199,11 +194,6 @@ public abstract class MockMvcRequestBuilders {
/**
* Create a {@link MockMultipartHttpServletRequestBuilder} for a multipart request.
- *
In contrast to methods in this class that return a
- * {@link MockHttpServletRequestBuilder}, the builder returned by this
- * method will always create a new {@link MockMultipartHttpServletRequest}
- * that is not associated with a mock request created by the
- * Spring TestContext Framework.
* @param urlTemplate a URL template; the resulting URL will be encoded
* @param urlVariables zero or more URL variables
*/
@@ -213,11 +203,6 @@ public abstract class MockMvcRequestBuilders {
/**
* Create a {@link MockMultipartHttpServletRequestBuilder} for a multipart request.
- *
In contrast to methods in this class that return a
- * {@link MockHttpServletRequestBuilder}, the builder returned by this
- * method will always create a new {@link MockMultipartHttpServletRequest}
- * that is not associated with a mock request created by the
- * Spring TestContext Framework.
* @param uri the URL
* @since 4.0.3
*/
@@ -228,7 +213,7 @@ public abstract class MockMvcRequestBuilders {
/**
* Create a {@link RequestBuilder} for an async dispatch from the
* {@link MvcResult} of the request that started async processing.
- *
Usage involves performing one request first that starts async processing:
+ *
Usage involves performing a request that starts async processing first:
*
* MvcResult mvcResult = this.mockMvc.perform(get("/1"))
* .andExpect(request().asyncStarted())
diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcBuilders.java b/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcBuilders.java
index 2a9ee4633b..6522ad1ddd 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcBuilders.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcBuilders.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2012 the original author or authors.
+ * Copyright 2002-2015 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.
@@ -16,56 +16,60 @@
package org.springframework.test.web.servlet.setup;
-import javax.servlet.ServletContext;
-
-import org.springframework.stereotype.Controller;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MockMvcBuilder;
import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.servlet.DispatcherServlet;
/**
- * The main class to import to access all available {@link MockMvcBuilder}s.
+ * The main class to import in order to access all available {@link MockMvcBuilder}s.
*
- * Eclipse users: consider adding this class as a Java editor
- * favorite. To navigate, open the Preferences and type "favorites".
+ *
Eclipse Users
+ * Consider adding this class as a Java editor favorite. To navigate to
+ * this setting, open the Preferences and type "favorites".
*
* @author Rossen Stoyanchev
+ * @author Sam Brannen
* @since 3.2
+ * @see #webAppContextSetup(WebApplicationContext)
+ * @see #standaloneSetup(Object...)
*/
public class MockMvcBuilders {
/**
- * Build a {@link MockMvc} using the given, fully initialized, i.e.
- * refreshed, {@link WebApplicationContext}. The {@link DispatcherServlet}
- * will use the context to discover Spring MVC infrastructure and
- * application controllers in it. The context must have been configured with
- * a {@link ServletContext}.
+ * Build a {@link MockMvc} instance using the given, fully initialized
+ * (i.e., refreshed) {@link WebApplicationContext}.
+ *
The {@link org.springframework.web.servlet.DispatcherServlet DispatcherServlet}
+ * will use the context to discover Spring MVC infrastructure and application
+ * controllers in it. The context must have been configured with a
+ * {@link javax.servlet.ServletContext ServletContext}.
*/
public static DefaultMockMvcBuilder webAppContextSetup(WebApplicationContext context) {
return new DefaultMockMvcBuilder(context);
}
/**
- * Build a {@link MockMvc} by registering one or more {@code @Controller}'s
- * instances and configuring Spring MVC infrastructure programmatically.
- * This allows full control over the instantiation and initialization of
- * controllers, and their dependencies, similar to plain unit tests while
+ * Build a {@link MockMvc} instance by registering one or more
+ * {@code @Controller} instances and configuring Spring MVC infrastructure
+ * programmatically.
+ *
+ *
This allows full control over the instantiation and initialization of
+ * controllers and their dependencies, similar to plain unit tests while
* also making it possible to test one controller at a time.
*
- *
When this option is used, the minimum infrastructure required by the
- * {@link DispatcherServlet} to serve requests with annotated controllers is
- * automatically created, and can be customized, resulting in configuration
- * that is equivalent to what the MVC Java configuration provides except
- * using builder style methods.
+ *
When this builder is used, the minimum infrastructure required by the
+ * {@link org.springframework.web.servlet.DispatcherServlet DispatcherServlet}
+ * to serve requests with annotated controllers is created automatically
+ * and can be customized, resulting in configuration that is equivalent to
+ * what MVC Java configuration provides except using builder-style methods.
*
*
If the Spring MVC configuration of an application is relatively
- * straight-forward, for example when using the MVC namespace or the MVC
- * Java config, then using this builder might be a good option for testing
- * a majority of controllers. A much smaller number of tests can be used
- * to focus on testing and verifying the actual Spring MVC configuration.
+ * straight-forward — for example, when using the MVC namespace in
+ * XML or MVC Java config — then using this builder might be a good
+ * option for testing a majority of controllers. In such cases, a much
+ * smaller number of tests can be used to focus on testing and verifying
+ * the actual Spring MVC configuration.
*
- * @param controllers one or more {@link Controller @Controller}'s to test
+ * @param controllers one or more {@code @Controller} instances to test
*/
public static StandaloneMockMvcBuilder standaloneSetup(Object... controllers) {
return new StandaloneMockMvcBuilder(controllers);