Thanks for the tip, but I'll need an actual code snippet, because when I make my action implement SessionAware, I need to also implement the setSession() method, and I'm back to square 1, trying to figure out how to create a session object. I can send a HashMap to the method, but what does it have to contain? What is the actual setting that needs to go in it, since I need to implement it?
> If your Action implements SessionAware, you don't need to make a mock > HttpSession at all. You just make a new HashMap, stuff it with the values > you want, and call action.setSession(). Just one more of the things I love > about Struts 2. :) > > But there are libraries around that do allow mock HttpSessions. Spring was > mentioned; MockObjects and Mockrunner each have it, and a quick google > search for "MockHttpSession" reveals plenty of others. Still, I'd > recommend the SessionAware. > > http://struts.apache.org/2.0.6/struts2-core/apidocs/org/apache/ > struts2/interceptor/SessionAware.html "Note that using this interface > makes the Action tied to a servlet environment, so it should be avoided if > possible since things like unit testing will become more difficult." > > In my experience, however, that's not the case at all. Using SessionAware, > from a unit testing perspective, makes your Action less dependent on the > servlet API, and makes unit testing easier. > > On Sep 13, 2007, at 3:47 PM, Session A Mwamufiya wrote: > >> Hi, >> >> How do I go about creating a dummy HttpSession object for unit testing a >> struts 2 app? >> >> I have created a dummy HttpServletRequest object, but I can't >> instanciate an HttpSession in teh Request.getSession() method, because >> HttpSession is an abstract interface and I can't create an instance of >> it. >> >> 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]