Does this handle transactions (e.g. rolls transactions back at the end of a test method) like the test runners provided by Spring?
Loritsch, Berin C. wrote: > > import javax.servlet.ServletContext; > > import org.apache.wicket.protocol.http.MockServletContext; > import org.apache.wicket.protocol.http.WebApplication; > import org.apache.wicket.util.tester.WicketTester; > import org.springframework.web.context.WebApplicationContext; > import org.springframework.web.context.support.XmlWebApplicationContext; > > /** > * Spring enabled WicketTester allows a user to test applications that > have > * been wired using the SpringComponentInjector. This subclass of the > * WicketTester sets up the spring web context, which is normally set up > by > * the org.springframework.web.context.ContextLoaderListener class. > */ > public class SpringWicketTester extends WicketTester { > /** > * The Spring web application context > */ > private XmlWebApplicationContext spring; > > /** > * Instantiate the WicketTester with your application and a set > of URLs > * to find the Spring XML configuration files. Ex: > * > * <pre> > * new SpringWicketTester(new MyApp(), > "classpath:application.xml", > * > "classpath:application-test.xml"); > * </pre> > * > * @param app Your Wicket web application > * @param springConfigURLs The set of URLs for the > configuration files. > */ > public SpringWicketTester(WebApplication app, String... > springConfigURLs) { > this(app, null, springConfigURLs); > } > > > /** > * Instantiate the WicketTester with your application and a set > of URLs > * to find the Spring XML configuration files. Ex: > * > * <pre> > * new SpringWicketTester(new MyApp(), "myapp", > * > "classpath:application.xml", > * > "classpath:application-test.xml"); > * </pre> > * > * @param app Your Wicket web application > * @param context The base url for the application > * @param springConfigURLs The set of URLs for the > configuration files. > */ > public SpringWicketTester(WebApplication app, String context, > String... springConfigURLs) { > super(app, context); > > reconfigure(springConfigURLs); > } > > /** > * Reconfigure the tester with new spring configuration files. > This method > * also calls the Spring <code>refresh</code> method to force > the files to > * load. > * > * @param springConfigURLs The set of URLs for the > configuration files. > */ > public void reconfigure(String... springConfigURLs) { > getSpringContext().setConfigLocations(springConfigURLs); > getSpringContext().refresh(); > } > > /** > * Create the new ServletContext that will be used with this > test session. > * This method configures the spring web context to be included > in your > * Servlet context. It's the magic that makes everything happy. > * > * @param path the root context path for URLs > * > * @return a configured ServletContext > */ > @Override > public ServletContext newServletContext(final String path) { > ServletContext context = new > MockServletContext(getApplication(), path); > getSpringContext().setServletContext(context); > > context.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ > ATTRIBUTE, spring); > return context; > } > > /** > * Lazy loader for the creating the SpringContext. Required to > work around > * the initialization in the constructor. > * > * @return the single web application context for this tester > */ > private XmlWebApplicationContext getSpringContext() { > if(null == spring) { > spring = new XmlWebApplicationContext(); > } > > return spring; > } > } > > -- View this message in context: http://old.nabble.com/SpringWicketTester-code-%28tested-with-Wicket-1.4-and-spring-wicket%29-tp26326536p26769106.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org