Hi!

Thanks for the answer! Comments below...




Arndt Pohlmann wrote:

>> Hi!
>>
>> I've set up a testing environment for an existing Webapplication which
uses
>> Struts 1.1, with Cactus 13-1.5beta1 and StrutsTestCase 200-1.1_2.2
>
>Hmm, this looks like a mismatch. You're using Cactus for J2EE version
>1.3, but StrutsTestCase for Servlet-API version 2.2 (which corresponds
>to J2EE version 1.2). You should either use StrutsTestCase 200-1.1_2.3
>or Cactus 12.

I will definitely look into this... could well be that I've made a mistake
there...

>> I add the test classes during ant build via "CactifyWar"-task, and then
use
>> runservertests and junit-tasks for running the tests.
>>
>> "execute()"-methods of my Action classes. It does something (JBoss tells
me
>> something about PropertyMessageResources initializing, and TilesPlugin
>> factory and so on, but no logging msgs from my execute method...
>>
>> I've already posted in StutsTestCase-forum, but it is less frequented
than
>> this mailing list, and I really have to get this going (this is a
project
>> for my last exam...)
>>
>> Here's my cactify war task:
>>
>> <target name="cactify war" depends="buildwar" description="Adds cactus
>> resources to WAR" >
>>         <delete file="${build.dir}/aproda3.war" />
>>         <copy todir="${build.dir}" file="${dist.dir}/aproda3.war" />
>>         <delete file="${dist.dir}/aproda3.war" />
>>         <cactifywar srcfile="${build.dir}/aproda3.war" destfile="
>> ${dist.dir}/aproda3.war">
>>             <lib file="${lib.dir}/strutstest.jar" />
>>         </cactifywar>
>>     </target>
>
>Does the WAR contain your test case classes before the cactification?
>Otherwise you'll need to add them like this:
>
>           <cactifywar ...>
>             <classes dir="path/to/test/classes"/>
>
>           </cactifywar>

Yes, my WAR does contain the testing classes before "cactification". I
simply compile all .java files under /src...


>> Here's my testing-task (conatiner.start and container.stop are empty,
since
>> the war gets deployed elsewhere):
>>
>>  <target name="Run Tests" description="Runs the Cactus Tests">
>>         <delete dir="${reports.dir}" />
>>         <mkdir dir="${reports.dir}" />
>>         <runservertests
>>             testurl
>> ="http://localhost:8080/ServletRedirector?Cactus_Service=RUN_TEST";
>>             starttarget="container.start"
>>             stoptarget="container.stop"
>>             testtarget="test"/>
>>     </target>
>>
>> <target name="test">
>>         <junit fork="yes">
>>             <formatter type="plain" usefile="false" />
>>             <classpath refid="test.classpath" />
>>             <batchtest>
>>                 <fileset dir="${classes.dir}">
>>                     <include name="**/Test*.class"/>
>>                     <exclude name="**/TestAll.class"/>
>>                 </fileset>
>>             </batchtest>
>>         </junit>
>>     </target>
>>
>>
>> Any suggestions are more than welcome!
>
>What happens when you run the JUnit task like this?
>

The following output is produced from ant
(and believe me, the error.login.user NEVER gets sent by my execute..., and
the nullPointerException gets fired because of a missing session-attribute,
which ALWAYS gets set during my execute method):

Run Tests
delete
Deleting directory C:\aproda\APRODA3\web\reports
mkdir
Created dir: C:\aproda\APRODA3\web\reports
runservertests
test
junit

Tests run: 2, Failures: 1, Errors: 1, Time elapsed: 4,877 sec

Testcase: testSuccessfulLoginOhneZiel took 4,186 sec
      FAILED
was expecting no error messages, but received:  "error.login.user"
junit.framework.AssertionFailedError: was expecting no error messages, but
received:  "error.login.user"
      at servletunit.struts.Common.verifyNoActionMessages(Common.java:62)
      at
servletunit.struts.CactusStrutsTestCase.verifyNoActionErrors(CactusStrutsTestCase.java:564)
      at
de.adesso.aproda.tests.TestLoginAction.testSuccessfulLoginOhneZiel(TestLoginAction.java:46)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at
org.apache.cactus.internal.server.ServerTestCaseDelegate.runServerTest(ServerTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:214)
      at
org.apache.cactus.ServletTestCase.runTest(ServletTestCase.java:280)
      at
org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:251)
      at
org.apache.cactus.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:156)
      at
org.apache.cactus.server.AbstractWebTestController.dispatch133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:130)
      at
org.apache.cactus.server.AbstractWebTestController.around133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:101)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:125)
      at
org.apache.cactus.server.ServletTestRedirector.around160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:109)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:96)
      at
org.apache.cactus.server.ServletTestRedirector.around159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:92)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
      at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:293)
      at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
      at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:544)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
      at org.mortbay.http.HttpServer.service(HttpServer.java:875)
      at org.jboss.jetty.Jetty.service(Jetty.java:543)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
      at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
      at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
      at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
      at java.lang.Thread.run(Thread.java:534)

Testcase: testSuccessfulLoginOhneZielTestcase: testSuccessfulLoginMitZiel
took 0,661 sec
      Caused an ERROR
null
java.lang.NullPointerException
      at
de.adesso.aproda.tests.TestLoginAction.testSuccessfulLoginMitZiel(TestLoginAction.java:56)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at
org.apache.cactus.internal.server.ServerTestCaseDelegate.runServerTest(ServerTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:214)
      at
org.apache.cactus.ServletTestCase.runTest(ServletTestCase.java:280)
      at
org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:251)
      at
org.apache.cactus.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:156)
      at
org.apache.cactus.server.AbstractWebTestController.dispatch133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:130)
      at
org.apache.cactus.server.AbstractWebTestController.around133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:101)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:125)
      at
org.apache.cactus.server.ServletTestRedirector.around160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:109)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:96)
      at
org.apache.cactus.server.ServletTestRedirector.around159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:92)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
      at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:293)
      at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
      at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:544)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
      at org.mortbay.http.HttpServer.service(HttpServer.java:875)
      at org.jboss.jetty.Jetty.service(Jetty.java:543)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
      at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
      at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
      at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
      at java.lang.Thread.run(Thread.java:534)

Testcase: testSuccessfulLoginMitZiel

Testsuite: de.adesso.aproda.tests.Tests
Tests run: 2, Failures: 1, Errors: 1, Time elapsed: 1,342 sec

Testcase: testSuccessfulLoginOhneZiel took 0,671 sec
      FAILED
was expecting no error messages, but received:  "error.login.user"
junit.framework.AssertionFailedError: was expecting no error messages, but
received:  "error.login.user"
      at servletunit.struts.Common.verifyNoActionMessages(Common.java:62)
      at
servletunit.struts.CactusStrutsTestCase.verifyNoActionErrors(CactusStrutsTestCase.java:564)
      at
de.adesso.aproda.tests.TestLoginAction.testSuccessfulLoginOhneZiel(TestLoginAction.java:46)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at
org.apache.cactus.internal.server.ServerTestCaseDelegate.runServerTest(ServerTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:214)
      at
org.apache.cactus.ServletTestCase.runTest(ServletTestCase.java:280)
      at
org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:251)
      at
org.apache.cactus.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:156)
      at
org.apache.cactus.server.AbstractWebTestController.dispatch133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:130)
      at
org.apache.cactus.server.AbstractWebTestController.around133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:101)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:125)
      at
org.apache.cactus.server.ServletTestRedirector.around160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:109)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:96)
      at
org.apache.cactus.server.ServletTestRedirector.around159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:92)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
      at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:293)
      at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
      at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:544)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
      at org.mortbay.http.HttpServer.service(HttpServer.java:875)
      at org.jboss.jetty.Jetty.service(Jetty.java:543)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
      at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
      at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
      at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
      at java.lang.Thread.run(Thread.java:534)

Testcase: testSuccessfulLoginOhneZielTestcase: testSuccessfulLoginMitZiel
took 0,641 sec
      Caused an ERROR
null
java.lang.NullPointerException
      at
de.adesso.aproda.tests.TestLoginAction.testSuccessfulLoginMitZiel(TestLoginAction.java:56)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at
org.apache.cactus.internal.server.ServerTestCaseDelegate.runServerTest(ServerTestCaseDelegate.java;org/apache/cactus/util/log/LogAspect.aj[1k]:214)
      at
org.apache.cactus.ServletTestCase.runTest(ServletTestCase.java:280)
      at
org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:251)
      at
org.apache.cactus.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:156)
      at
org.apache.cactus.server.AbstractWebTestController.dispatch133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:130)
      at
org.apache.cactus.server.AbstractWebTestController.around133_handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj[1k]:101)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:125)
      at
org.apache.cactus.server.ServletTestRedirector.around160_doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:109)
      at
org.apache.cactus.server.ServletTestRedirector.dispatch159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:96)
      at
org.apache.cactus.server.ServletTestRedirector.around159_doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:1151)
      at
org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java;org/apache/cactus/util/log/LogAspect.aj[1k]:92)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
      at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:293)
      at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
      at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:544)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
      at org.mortbay.http.HttpServer.service(HttpServer.java:875)
      at org.jboss.jetty.Jetty.service(Jetty.java:543)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
      at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
      at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
      at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
      at java.lang.Thread.run(Thread.java:534)

Testcase: testSuccessfulLoginMitZiel
TEST de.adesso.aproda.tests.Tests FAILED




And this is the output in the Jboss console
(the first message is logged directly at startup of the test method):


11:27:58,603 INFO  [TestLoginAction] Small test of Cactus logger!
11:27:58,613 INFO  [PropertyMessageResources] Initializing, config
='org.apache.s
truts.action.ActionResources', returnNull=true
11:27:59,254 INFO  [PropertyMessageResources] Initializing, config
='ApplicationR
esources', returnNull=true
11:27:59,264 INFO  [TilesPlugin] Factory already exists for module ''. The
facto
ry found is from module ''. No new creation.
11:27:59,274 INFO  [TilesRequestProcessor] Tiles definition factory found
for re
quest processor ''.
11:27:59,815 INFO  [PropertyMessageResources] Initializing, config
='org.apache.s
truts.action.ActionResources', returnNull=true
11:28:00,355 INFO  [PropertyMessageResources] Initializing, config
='ApplicationR
esources', returnNull=true
11:28:00,365 INFO  [TilesPlugin] Factory already exists for module ''. The
facto
ry found is from module ''. No new creation.
11:28:00,375 INFO  [TilesRequestProcessor] Tiles definition factory found
for re
quest processor ''.
11:28:06,554 INFO  [TestLoginAction] Small test of Cactus logger!
11:28:06,564 INFO  [PropertyMessageResources] Initializing, config
='org.apache.s
truts.action.ActionResources', returnNull=true
11:28:07,115 INFO  [PropertyMessageResources] Initializing, config
='ApplicationR
esources', returnNull=true
11:28:07,115 INFO  [TilesPlugin] Factory already exists for module ''. The
facto
ry found is from module ''. No new creation.
11:28:07,125 INFO  [TilesRequestProcessor] Tiles definition factory found
for re
quest processor ''.
11:28:07,396 INFO  [PropertyMessageResources] Initializing, config
='org.apache.s
truts.action.ActionResources', returnNull=true
11:28:07,926 INFO  [PropertyMessageResources] Initializing, config
='ApplicationR
esources', returnNull=true
11:28:07,926 INFO  [TilesPlugin] Factory already exists for module ''. The
facto
ry found is from module ''. No new creation.
11:28:07,936 INFO  [TilesRequestProcessor] Tiles definition factory found
for re
quest processor ''.
11:28:08,026 INFO  [TestLoginAction] Small test of Cactus logger!
11:28:08,036 INFO  [PropertyMessageResources] Initializing, config
='org.apache.s
truts.action.ActionResources', returnNull=true
11:28:08,567 INFO  [PropertyMessageResources] Initializing, config
='ApplicationR
esources', returnNull=true
11:28:08,567 INFO  [TilesPlugin] Factory already exists for module ''. The
facto
ry found is from module ''. No new creation.
11:28:08,577 INFO  [TilesRequestProcessor] Tiles definition factory found
for re
quest processor ''.
11:28:08,727 INFO  [PropertyMessageResources] Initializing, config
='org.apache.s
truts.action.ActionResources', returnNull=true
11:28:09,248 INFO  [PropertyMessageResources] Initializing, config
='ApplicationR
esources', returnNull=true
11:28:09,248 INFO  [TilesPlugin] Factory already exists for module ''. The
facto
ry found is from module ''. No new creation.
11:28:09,258 INFO  [TilesRequestProcessor] Tiles definition factory found
for re
quest processor ''.


Now back to testing the J2EE versions...




>> Thanks,
>>
>> Arndt
>
>--
>Christopher Lenz
>/=/ cmlenz at gmx.de


---------------------------------------------------------------------
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]

Reply via email to