Eclipse WTP에서 Apache Cactus사용하기

Cactus는 Web Application 에 올라가 있는 servlet, jsp, filter등을 테스트 할수 있도록 하는 JUnit 기반위의 Framework이다. (HttpUnit 과의 관계가 어떻게 되는지 모르겠네요..)

Cactus를 이용하여 서블릿에 대한 request를 설정하고 response를 확인할 수 있다.


  • New -> Java -> JUnit -> Servlet Test Case 를 클릭하여 Servlet Test Case를 만들면 자동으로 Cactus 설정이 프로젝트에 추가된다.
  • classpath 경로 안에 cactus.properties 파일을 만들고 아래와 같이 연동할 web application 의 url을 잡아준다.

  • 아래를 참고해서 Servlet Test Case를 만든다. beginXXX 에서 request를 보내기 전 작업을 할 수 있고, endXXX에서 response 에 대한 데이터를 확인할 수 있다.

public class ServletTest extends ServletTestCase {

    public void testProdSpecSel() throws IOException {

        ProdSpecSel servlet = new ProdSpecSel();

        servlet.service(request, response);

    }

    public void beginProdSpecSel(WebRequest request) throws Exception{

        String data = "product_spec";

        InputStream input = new ByteArrayInputStream(data.getBytes());

        request.setUserData(input);

    }

    public void endProdSpecSel(WebResponse response) throws Exception{

        System.out.println(response.getText());

    }

}

  • Web Application 을 띄운후 JUnit으로 실행하면 Test가 수행된다.

http://skccdev.pbwiki.com/Cactus