Re: Testing with StrutsTestCase in a Tiles application - NullPointerException

2012-01-30 Thread Miguel Almeida
For future reference, I found the answer in
http://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-spring-junit/

Basically, you need to initialize the tiles listener. As I already used
setupBeforeInitDispatcher to set the applicationContext attribute, I
added the code there (inside the if(tilesApplication) segment):

/** Overrides the previous in order to skip applicationContext
assignment: context is @autowired
 * @see
org.apache.struts2.StrutsSpringTestCase#setupBeforeInitDispatcher()
 **/
@Override
protected void setupBeforeInitDispatcher() throws Exception {
//init context


servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,
 applicationContext);

if(tilesApplication){

servletContext.addInitParameter(BasicTilesContainer.DEFINITIONS_CONFIG,
WEB-INF/tiles.xml);
final StrutsTilesListener tilesListener = new
StrutsTilesListener();
final ServletContextEvent event = new
ServletContextEvent(servletContext);
tilesListener.contextInitialized(event);
}

}

Miguel Almeida


On Fri, 2012-01-27 at 17:35 +, Miguel Almeida wrote:

 Hi there,
 
 I trying to test an application with the help of StrutsTestCase (a class
 that extends from StrutsSpringTestCase, to be more precise).
 StrutsTestCase (which is in the struts junit plugin) involves proxied
 actions to make tests more light.
 
 I have used the same method in another application that doesn't have
 tiles successfully. Here, however, I am running into an exception when
 running the actionProxy.execute() :
 
 
 java.lang.NullPointerException
   at
 org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105)
   at
 org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
 
 
 I found a user that described the problem very well on stackOverflow:
 http://stackoverflow.com/questions/5823709/npe-in-strutstestcase-after-enabling-tiles
 
 There is also a 2008 question on the mailing list
 (http://www.mail-archive.com/user@struts.apache.org/msg77582.html ).
 Petrelli tried to answer, but no solution was posted.
 
 From these resources, do you know what the problem might be and if it is
 possible to use StrutsTestCase to test an application that has Tiles
 enabled through the StrutsTilesListener?
 
 
 Cheers,
 
 Miguel Almeida
 




Testing with StrutsTestCase in a Tiles application - NullPointerException

2012-01-27 Thread Miguel Almeida
Hi there,

I trying to test an application with the help of StrutsTestCase (a class
that extends from StrutsSpringTestCase, to be more precise).
StrutsTestCase (which is in the struts junit plugin) involves proxied
actions to make tests more light.

I have used the same method in another application that doesn't have
tiles successfully. Here, however, I am running into an exception when
running the actionProxy.execute() :


java.lang.NullPointerException
at
org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105)
at
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)


I found a user that described the problem very well on stackOverflow:
http://stackoverflow.com/questions/5823709/npe-in-strutstestcase-after-enabling-tiles

There is also a 2008 question on the mailing list
(http://www.mail-archive.com/user@struts.apache.org/msg77582.html ).
Petrelli tried to answer, but no solution was posted.

From these resources, do you know what the problem might be and if it is
possible to use StrutsTestCase to test an application that has Tiles
enabled through the StrutsTilesListener?


Cheers,

Miguel Almeida