Hello,
   I was looking for a server-side testing tool to test my JSP pages, and then
I came across Cactus. First of all, let me tell you Vincent, it is really kool
and simple. I could immediately jump-start on testing my very trivial JSP
pages. 
  I encountered a problem when I used the jsp:useBean tag. 
I am just pasting a page fragement here.

FetchEmp.jsp:

<jsp:useBean id = "empBean" class = "myapp.Employee" scope = "page"/>
<html>
<head><title>Hello World</title></head>
<body>
        <tr><td>
        <% out.print(empBean.getSalary().toString() );  %>
        </tr></td>
</body>
</html>


I am using WebLogic v 6.1 . I run the server under default context and this,
JSP has been deployed such a way that we can refer to it as,

http://localhost:7001/employee/FetchEmp.jsp

Employee.java:
==============

package myapp;
public class Employee {
    static int Salary; //Should be double..

    static {
        Salary  = 6000;
    }

    public static String getSalary() {
        return Salary;
    }
}

Now my test case is something like this.

 < --- >
import org.apache.cactus.JspTestCase;
import com.meterware.httpunit.WebTable;

import java.io.IOException;
import javax.servlet.ServletException;
import org.xml.sax.SAXException;

public class TestBeanCase extends JspTestCase
{
    public TestBeanCase(String theName)
    {
        super(theName);
    }


    public void testOut() throws IOException, ServletException
    {
        pageContext.forward("/employee/FetchEmp.jsp");
    }

    public void endOut(com.meterware.httpunit.WebResponse resp)
            throws IOException , ServletException,
                    ParserConfigurationException,
                    SAXException {
        System.out.println( resp.getText() );
    }
}

 ------- --------------------
When I run the JUnit task I get,

java.lang.NullPointerException

at com.meterware.httpunit.WebResponse.loadResponseText(WebResponse.java:472)
at com.meterware.httpunit.WebResponse.getText(WebResponse.java:186)
at TestBeanCase.endOut(TestBeanCase.java:50)
at org.apache.cactus.AbstractTestCase.callEndMethod(AbstractTestCase.java:304)
at org.apache.cactus.AbstractTestCase.runGenericTest(AbstractTestCase.java:425)
at org.apache.cactus.JspTestCase.runTest(JspTestCase.java:107)
at org.apache.cactus.AbstractTestCase.runBare(AbstractTestCase.java:371)

Actually the line,
 TestBeanCase.java : 50 is 
   
  System.out.println( resp.getText() );

mentioned above.

Can anybody help me?

Thanks.
Karthik Kumar.

__________________________________________________
Do You Yahoo!?
Listen to your Yahoo! Mail messages from any phone.
http://phone.yahoo.com

Reply via email to