Hudson에서 JsTestDriver 설정

내 이 세상 도처에서 쉴 곳을 찾아보았으나, 마침내 찾아낸, 컴퓨터가 있는 구석방보다 나은 곳은 없더라.

Hudson에서 JsTestDriver 설정

JsTestDriver를 사용하면 CI(Continuous Integration) 서버에서 JavaScript 코드에 대한 단위 테스트를 실행하고 코드 커버리지 리포트를 생성할 수 있다.

JsTestDriver 설치

  1. http://code.google.com/p/js-test-driver/에서 JsTestDriver 최신 버전 다운로드
    • JsTestDriver-1.2.2.jar JsTestDriver 최신 버전
    • coverage-1.2.2.jar 커버리지 측정 플러그인
  2. /opt/jsTestDriver 디렉터리 생성
  3. /opt/jsTestDriver에 단계1에서 다운로드한 jar 파일 복사
  4. JsTestDriver 설치 디렉터리에 plugins 디렉터리를 만들고 coverage-1.2.2.jar 파일을 복사. 즉 디렉터리 구조가 다음과 같이 되어야 함.
/opt/jsTestDriver/
 +- JsTestDriver-1.2.2.jar
 +- plugins
     +- coverage-1.2.2.jar

단위 테스트 실행 설정

  1. Hudson 초기화면 > {프로젝트} > Configure 페이지의 Build 섹션에서 Add build step을 클릭해서 Execute shell 항목 선택 Add build step > Execute shell 그림
  2. Command 항목에 JsTestDriver를 이용해 JavaScript 테스트를 실행시킬 명령 작성 Execute shell 그림
    • $WORKSPACE - Hudson 워크스페이스 절대경로
    • --server http://localhost:4224 테스트 실행시 JsTestDriver가 접근할 JsTestDriver 서버. 여기서는 다음과 같이 미리 JsTestDriver 서버를 띄워 놓고 여기에 IE, FF, Chrome 등의 브라우저를 attach 시켜놓아야 함. $ java -jar JsTestDriver-1.2.2.jar --port 4224 JsTestDriver 서버, attach한 브라우저가 모두 다른 머신에 있어도 상관 없음
    • --config $WORKSPACE/trunk/jsTestDriver.conf JsTestDriver 설정 파일 지정
    • --tests all 모든 테스트를 실행하도록 설정
    • --testOutput $WORKSPACE/trunk/report 테스트 결과 리포트(테스트 실행 결과 및 커버리지)가 저장될 디렉터리 설정
    • --reset 테스트 러너를 리셋하도록 설정