2010-11-28 3 views
5

TDD의 실제 내용을 이해하기 전에 테스트 주도 코드를 작성했습니다. 구현이없는 함수와 클래스를 호출하면 훨씬 빠르고 효율적으로 내 응용 프로그램을 이해하고 구축 할 수 있습니다. 그래서 나는 코드 작성 -> 컴파일 -> 구현 실패를 확인하는 과정에 익숙합니다.> 구현을 구현하여 수정합니다.JSP 용 테스트 중심 개발 특히

이 프로세스는 웹에서 약간 어렵습니다. 특히 JSP. Java 클래스를 컴파일 할 때마다 컴파일 오류가 발생합니다. 그러나 JSP에서 오류가 발생하면 브라우저를 열고 해당 JSP를 호출해야합니다.

이 과정을 피하고 실제로 브라우저를로드하지 않고도 JSP 컴파일 오류를 표시하는 방법이 있습니까?

답변

2

저는 일반적으로 JSP를 직접 테스트하지 않습니다. JSP에 가능한 한 적은 로직을 유지하는 것이 일반적으로 좋은 생각입니다. JSP에 몇 개의 <c:out> 태그 만 포함되어 있다면 테스트하기에 너무 많은 것은 아닙니다. 그러나 당신이 그 안에 정당한 양의 논리를 가지고 있다면, 내가 할 수있는 것은 논리를 사용자 정의 태그로 추출하는 것인데, 당신은 드라이브를 꽤 쉽게 시험 할 수 있습니다.

+0

맞아요 ... jsp는 로직을 포함해서는 안됩니다. –

3

확실히. JSP를 미리 컴파일 할 수 있습니다. 그것을하는 개미 작업조차있다. 링크를 참조하십시오 : http://ant.apache.org/manual/Tasks/jspc.html

하지만 이것은 첫 번째 단계라고 생각합니다. 이렇게하면 컴파일 오류를 볼 수 있습니다. 나는 당신이 더 많은, 즉 단위 테스트를 원한다고 생각합니다. 나는 자카르타 선인장과 같은 도구가 당신을 도울 것이라고 믿는다.

최근에 나는 많은 수의 Java 테스트 도구를 나열하는 다음 resource을 발견했습니다.

+0

+1 JspC는 단지 개미 작업이 아니며 Tomcat에 내장 된 JSP-> 서블릿 컴파일러를위한 쉘입니다.이 컴파일러는 모든 빌드 환경의 일부로 사용할 수 있습니다. @ 루카 : Tomcat을 JEE 서버로 사용하지 않아도, 프로세스에서 매우 유용한 도구가 될 수 있습니다. http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/jasper /JspC.html –

+0

"2011/08/05 - 자카르타 선인장이 은퇴했습니다." – Raedwald

1

컴파일은 쉬운 부분이며, AlexR의 대답이 잘 처리한다고 생각합니다.

JSP를 테스트하고 테스트하는 것은 어렵습니다. 테스트하려면 웹 컨테이너에 배포하거나 시뮬레이트 (조롱)하고 브라우저 또는 브라우저를 모방 한 것을 실행해야합니다.

Cactus은 용기 내 테스트에 도움이 될 수 있습니다. Selenium도 가능합니다.

또는 환경을 조롱 할 수 있습니다. Spring을 사용하는 경우이를 지원하는 것이 좋습니다.

그러나 JSP 테스트 및 테스트 구동의 어려움을 처리하는 가장 좋은 방법은 JSP 사용을 완전히 중지하거나 스크립틀릿을 피함으로써 JSP 코드의 로직을 최소화하는 것입니다.

는 JSP 그냥 변장 서블릿이기 때문에

, 그것은 JSP없이 웹 응용 프로그램을 작성하는 것이 가능하고, 아주 쉽게 JSP없이 자바 웹 애플리케이션 개발을 할 Velocity 같은 WicketTapestry 또는 템플릿 엔진과 같은 프레임 워크를 사용하는 옵션이 있습니다.