0 Replies Latest reply: Mar 26, 2012 8:31 AM by Arsalan Masood RSS

    Need some help in running JSFUnit with TestNG on Tomcat6 using MyEclipse IDE

    Arsalan Masood Newbie

      Dear All,

       

      I am new to this forum and also new to JSF Unit Testing. I am writing JSF Unit tests for a legacy web application built on JSF 1.2 and Servlet Container version 2.5. It is a big project and I am unable to run the test as a TestNG test.

       

      I can see the test results in the browser (e.g. http://localhost:8080/mywebapp/ServletTestRunner?suite=my.test.JSFUnitTest&xsl=cactus-report.xsl), But when I run the JSFUnitTest class as a TestNG test, I get the following:

       

      java.lang.IllegalStateException: Can not find HttpSession.  Make sure JSFUnitFilter has run and your test extends org.apache.cactus.ServletTestCase.

                at org.jboss.jsfunit.framework.WebConversationFactory.makeWebClient(WebConversationFactory.java:136)

                at org.jboss.jsfunit.framework.WebClientSpec.<init>(WebClientSpec.java:116)

                at org.jboss.jsfunit.framework.WebClientSpec.<init>(WebClientSpec.java:94)

                at org.jboss.jsfunit.framework.WebClientSpec.<init>(WebClientSpec.java:78)

                at org.jboss.jsfunit.jsfsession.JSFSession.<init>(JSFSession.java:58)

                at my.test.JSFUnitTest.setUp(JSFUnitTest.java:26)

                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 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)

                at org.testng.internal.Invoker.invokeMethod(Invoker.java:702)

                at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:894)

                at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1219)

                at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)

                at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)

                at org.testng.TestRunner.privateRun(TestRunner.java:768)

                at org.testng.TestRunner.run(TestRunner.java:617)

                at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)

                at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)

                at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)

                at org.testng.SuiteRunner.run(SuiteRunner.java:240)

                at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

                at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87)

                at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)

                at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)

                at org.testng.TestNG.run(TestNG.java:1022)

                at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:109)

                at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:202)

                at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:173)

       

      What am I missing, or doing wrong.

       

      I am using Catus and JSFUnit v 1.3 as described in the page(http://www.jboss.org/jsfunit/gettingstarted.html) and the test class is similar to (https://community.jboss.org/wiki/JSFUnitTestClass).

       

      Appreciate your help.

       

      Thanks in advance.

       

      Arsalan