2010-07-23 2 views
3

서블릿 애플리케이션을 개발 중입니다. JWebUnit을 사용하여 모든 기본 응답을 확인했지만 이제는 다른 HTTP 메소드 (POST, PUT 및 DELETE)를 사용하여 시작해야합니다.http에 적합한 Java 유닛 테스트 라이브러리는 무엇입니까?

그래서 HttpUnit을 찾았습니다. 필요한 것을 지원하고 POST 및 PUT 메서드를 사용할 수 있으며 HttpUnit에서 지원하는 HEAD를 통해 DELETE 메서드를 둘러 볼 수 있다고 생각합니다.

그러나이 프로젝트에는 최근 활동이 없습니다. 마지막 릴리스는 약 2 년 전이었습니다. 그래서 내 질문에 사람들이 그것을 사용하거나 HttpUnit 내 사건에 대한 권리가 다른 라이브러리가 있다면 무엇입니까?

감사합니다.

+0

이 구현에 의존하기 때문에 JWebUnit을 사용할 때 이미 HtmlUnit을 사용하고있는 것 같습니다. – topchef

답변

2

나는 대신 HtmlUnit을 권장합니다. HttpUnit을 향한 무례한 의도는 없습니다. 몇 년 전에 사용했는데 제대로 작동했습니다. 그러나 그것은 몇 년 동안 프로젝트로 죽었고, 특히 Javascript에 대한 지원이 거의 없었기 때문에 HtmlUnit으로 전환했습니다.

HtmlUnit은 초기부터 꾸준히 개발되어 왔으며 뛰어난 JavaScript 지원 기능을 가지고 있습니다. 나는 많은 Ajax가 포함 된 사이트를 테스트하는 데 사용했으며 JS 코드를 제대로 실행하지 못했을 뿐이라고 생각한다. (고정 된 HtmlUnit 버그로 밝혀졌다.) 진행 상황을 테스트하는 데 도움이되는 많은 후크가 있습니다.

또한 "HtmlUnit은 Canoo WebTest, JWebUnit, WebDriver, JSFUnit, Celerity와 같은 다양한 오픈 소스 도구에서 기본 브라우저로 사용됩니다 ..." Java로 테스트를 표현하는 것을 선호하지만 HtmlUnit이 잘 작동한다는 것을 이해합니다.

+0

그러나 HTMLUnit은 http 메소드 PUT 및 DELETE를 사용하여 URL을 쿼리하는 방법을 제공합니까 ?? – 4NDR01D3

+0

그래, 먼저 "WebRequestSettings"를 만드는 데 추가 단계가 필요합니다. http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebClient.html#getPage%28com.gargoylesoftware.htmlunit.WebWindow,% 20com.gargoylesoftware.htmlunit.WebRequestSettings % 29 –

+0

쿨! 이유는 두 가지입니다. 첫 번째로, HTMLUnit은 일회용 방식을 찾고있는 HTTPUnit과 달리 DELETE 메소드를 지원합니다. 그리고 두 번째로 @gregory 주석으로 JWebUnit을 사용하면서 이미 그것을 포함하고 있었으므로 필요한 라이브러리에 다른 것을 추가 할 필요가 없습니다. – 4NDR01D3

3

Httpunit은 성숙한 라이브러리입니다. 당신이하려는 일에 잘 작동합니다.

0

@Sasi와의 합의.

또한 프로젝트의 SVN 저장소에 간혹 체크 인이 있다는 점에 유의해야합니다. 최근 몇 달 전에 버그에 대한 공헌 패치를 적용했습니다. 따라서 코드를 돌보는 개발자는 여전히 있습니다.

+0

알아두면 좋습니다! 나는주의를 기울이지 않았다, 정보를위한 감사! – 4NDR01D3

0

매우이 http 요청을 만들고 Java에서 응답의 유효성을 검사하는 것이 가능하도록 시도 할 수 있습니다. REST Assured.

관련 문제