This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Struts and the fly likes StrutsTestCase problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "StrutsTestCase problem" Watch "StrutsTestCase problem" New topic
Author

StrutsTestCase problem

Jason Vo
Greenhorn

Joined: Aug 12, 2010
Posts: 2
Hi - I use eclipse to run this test case and point "WEB-INF" folder for classpath and I still get the error message below. could you please help me this issue? Thanks

junit 3.8.2. jar
jdk 1.6
Strut-config is located at WebRoot/WEB-INF folder.

====================
import servletunit.struts.MockStrutsTestCase;
public class LogoffActionTest extends MockStrutsTestCase {

private static final String ACTION_PATH = "/logoff";
private static final String CONTEXT_DIR = "WebRoot";

public LogoffActionTest(String arg0) {
super(arg0);
}

protected void setUp() throws Exception {
super.setUp();
setRequestPathInfo(ACTION_PATH);
setContextDirectory(new File(CONTEXT_DIR));
}

protected void tearDown() throws Exception {
super.tearDown();
}

public void testCaseForSuccessfulLogoff() {
actionPerform();
verifyForwardPath("/Logon.jsp");
}
}

--------------Error --------
servletunit.struts.ExceptionDuringTestError: A NullPointerException was thrown. This may indicate an error in your ActionForm, or it may indicate that the Struts ActionServlet was unable to find struts config file. TestCase is running from C:\Workspaces\Test\ directory. Context directory is C:\Workspaces\Test\WebRoot. struts config file must be found under the context directory, the directory the test case is running from, or in the classpath.
at servletunit.struts.MockStrutsTestCase.actionPerform(MockStrutsTestCase.java:407)
at com.ingenix.itg.subrotrack.security.action.LogoffActionTest.testCaseForSuccessfulLogoff(LogoffActionTest.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
------------
Root Cause:
------------
java.lang.NullPointerException
at servletunit.struts.MockStrutsTestCase.getActionServlet(MockStrutsTestCase.java:331)
at servletunit.struts.MockStrutsTestCase.actionPerform(MockStrutsTestCase.java:394)
at com.ingenix.itg.subrotrack.security.action.LogoffActionTest.testCaseForSuccessfulLogoff(LogoffActionTest.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)


David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Well, you might be better off asking the project owner, since it's not an actual Struts product, but: is there a config file? The error message is pretty clear on what it *believes* the problem to be.
Jason Vo
Greenhorn

Joined: Aug 12, 2010
Posts: 2
Strut-config.xml file is located at WebRoot/WEB-INF folder and I'm not sure why it doesn't recognize the config file. From debug, i can see this line of code throw NPE

//This method is from MockStrutsTestCase class
public ActionServlet getActionServlet() {
.....
this.actionServlet.init(config); ======> NPE happened here

}
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Well, I don't really know anything about the framework, but the config file appears to not be in one of the three locations it mentions, no?
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: StrutsTestCase problem
 
Similar Threads
Junit error
NULL Pointer Exception
HttpUnit - org.mozilla.javascript.EcmaError: TypeError: Cannot find function createElement
SSLHands shake exception
Error in JUnit while Running