java - Testing a Spring WebListener -
i have class annotated @weblistener, extending servletcontextlistener class i'm testing relies on having executed. when test manually (i.e. running in tomcat) works, within junit test @weblistener class never executed. i'm assuming need add configuration execute, i'm not sure what. or need run manually in the test?
edit: here's basics of class
@weblistener public class mylistener implements servletcontextlistener {    @override   public void contextinitialized(servletcontextevent event) {     // retrieve spring application context     servletcontext servletcontext = event.getservletcontext();     springcontext = webapplicationcontextutils.getwebapplicationcontext(servletcontext);     ...   }   ... } i've added test class:
@before public void mockinit() {     mockservletcontext mockcontext = new mockservletcontext();     new mylistener().contextinitialized(new servletcontextevent(mockcontext)); } but springcontext variable in contextinitialized null. 
assuming using mockmvc tests, can register filter with
mockmvcbuilders.webappcontextsetup(webappcontext).addfilter(yourfilter, urlpatterns); 
Comments
Post a Comment