Mock implementation of the {@link javax.servlet.ServletContext} interface.
Used for testing the Spring web framework; only rarely necessary for testing application controllers. As long as application components don't explicitly access the ServletContext, ClassPathXmlApplicationContext or FileSystemXmlApplicationContext can be used to load the context files for testing, even for DispatcherServlet context definitions.
For setting up a full WebApplicationContext in a test environment, you can use XmlWebApplicationContext (or GenericWebApplicationContext), passing in an appropriate MockServletContext instance. You might want to configure your MockServletContext with a FileSystemResourceLoader in that case, to make your resource paths interpreted as relative file system locations.
A common setup is to point your JVM working directory to the root of your web application directory, in combination with filesystem-based resource loading. This allows to load the context files as used in the web application, with relative paths getting interpreted correctly. Such a setup will work with both FileSystemXmlApplicationContext (which will load straight from the file system) and XmlWebApplicationContext with an underlying MockServletContext (as long as the MockServletContext has been configured with a FileSystemResourceLoader).
@author Rod Johnson
@author Juergen Hoeller
@since 1.0.2
@see #MockServletContext(org.springframework.core.io.ResourceLoader)
@see org.springframework.web.context.support.XmlWebApplicationContext
@see org.springframework.web.context.support.GenericWebApplicationContext
@see org.springframework.context.support.ClassPathXmlApplicationContext
@see org.springframework.context.support.FileSystemXmlApplicationContext