Instead of using a test stub, i'd use jmock or some similar mock framework and get a little more control :)
2009/4/6 Olivier Michallat <[email protected]>: > The problem is that your unit tests run out of the web container, you > can't rely on a servlet context listener to load the Spring context in > this situation. > > You need a hook to inject a mock context when testing. This post > describes a solution: http://blog.ehour.nl/index.php/archives/21 > > > 2009/4/6 HHB <[email protected]>: >> Hey, >> I'm trying to integrate Spring 2.5 into our Wicket >> application, I did the following: >> >> web.xml: >> <context-param> >> <param-name>contextConfigLocation</param-name> >> <param-value>classpath:applicationContext.xml</param-value> >> </context-param> >> <listener> >> <listener-class>org.springframework.web. >> context.ContextLoaderListener</listener-class> >> </listener> >> <filter> >> <filter-name>OpenSessionInViewFilter</filter-name> >> <filter-class>org.springframework.orm.hibernate3. >> support.OpenSessionInViewFilter</filter-class> >> </filter> >> >> <filter> >> <filter-name>WicketFilter</filter-name> >> <filter-class>org.apache.wicket. >> protocol.http.WicketFilter</filter-class> >> <init-param> >> <param-name>applicationFactoryClassName</param-name> >> <param-value>org.apache.wicket.spring. >> SpringWebApplicationFactory</param-value> >> </init-param> >> </filter> >> <filter> >> <filter-name>WicketFilter</filter-name> >> <filter-class>org.apache.wicket. >> protocol.http.WicketFilter</filter-class> >> <init-param> >> <param-name>applicationFactoryClassName</param-name> >> <param-value>org.apache.wicket.spring. >> SpringWebApplicationFactory</param-value> >> </init-param> >> </filter> >> >> applicationContext.xml: >> >> <bean id="wicketApplication" class="domain.WicketApplication"/> >> >> >> pom.xml: >> >> <dependency> >> <groupId>org.springframework</groupId> >> <artifactId>spring</artifactId> >> <version>2.5.6</version> >> </dependency> >> >> <dependency> >> <groupId>org.apache.wicket</groupId> >> <artifactId>wicket-spring</artifactId> >> <version>1.3.5</version> >> </dependency> >> <dependency> >> <groupId>org.apache.wicket</groupId> >> <artifactId>wicket-spring-annot</artifactId> >> <version>1.3.5</version> >> </dependency> >> >> WicketApplication: >> >> @Override >> protected void init() { >> super.init(); >> addComponentInstantiationListener >> (new SpringComponentInjector(this)); >> } >> >> But when trying: >> mvn test >> I got the following exception: >> ------------------------------------ >> ------------------------------------------- >> Test set: TestSuite >> ------------------------------------ >> ------------------------------------------- >> Tests run: 2, Failures: 1, Errors: 0, >> Skipped: 1, Time elapsed: 0.498 sec <<< FAILURE! >> init(domain.TestHomePage) Time elapsed: 0 sec <<< FAILURE! >> java.lang.IllegalStateException: >> No WebApplicationContext found: no ContextLoaderListener registered? >> at org.springframework.web.context.support. >> WebApplicationContextUtils. >> getRequiredWebApplicationContext(WebApplicationContextUtils.java:70) >> at org.apache.wicket.spring. >> injection.annot.SpringComponentInjector. >> <init>(SpringComponentInjector.java:74) >> >> Any ideas? >> Thanks. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
