Guys, its getting complicated. But I digged out a nasty thing in Junit testing. I know whats wrong but looking for advise to fix the correct place in Struts.
Imagine: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:applicationContext.xml"}) public class MyClass extends StrutsSpringJUnit4TestCase<MyAction> { @Test public void testMyStuff() { this.executeAction("/login.action"); this.executeAction("/dostuff.action"); Assert.assertEquals(1, this.getAction().methodFromMyAction()); } } So imagine what happens when I call getAction() which is MyAction for the compiler? Its a ClassCastException. Because actually its coming a LoginAction from the first call back Here is how you can bring it to fly, in my special case: this.executeAction('/login.action'); SessionMap session = (SessionMap)ServletActionContext.getValueStack(request).getContext().get("session"); SessionUser sUser = (SessionUser)session.get("myuser"); // Reinit request stuff this.request = new MockHttpServletRequest(); this.response = new MockHttpServletResponse(); this.pageContext = new MockPageContext(servletContext, request, response); // Put stuff back into session what you need this.request.getSession().setAttribute("tabuser", sUser); // now it works: this.executeAction("/dostuff.action"); Assert.assertEquals(1, this.getAction().methodFromMyAction()); So far so good - it seems like the first calls meta data like session is somehow stored somewhere. To make it all work you'll need to reinit the whole StrutsJUnit4TestCase mock objects - but then you'll loose your session data you probably need for the second call. If we don't fix it, people can only use this for one test class = one actions tests. But then how do you make tests for action flows? Now I need some good ideas how a potential test can look like- ideas welcome. In addition I would like to open an issue for that. Cheers Christian -- http://www.grobmeier.de --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org