얼마 전에 google test 블로그에서 js test framework가 소개가 됬다.

ui test에 대해서 나름 흥미를 가지고 있어서 한번 설치를 해봤다.

먼저 간단한 설치 방법을 설명한다. (eclipse,aptana를 기준으로 되어 있다.)

  1. http://js-test-driver.googlecode.com/svn/samples/hello-world 에서 checkout 한다.
  2. properties가 가서 builders를 선택한다.
  3. js-test-builder가 잡혀 있는데 edit를 누른다.
  4. 일단 checkout할때 프로젝트명을 똑같이(hello-world) 하지 않았다면 해당 부분을 Working Directory에 수정한다. 그리고 mac사용자가 아니라면 location에 jdk경로도 수정해야 한다.
  5. 그리고 나서 터미널(커멘드)창에 java -jar JsTestDriver.jar --browser open을 하면 기본 브라우져 창이 뜨면서 테스트가 실행이 된다.하지만 윈도우에서는 기본 브라우져가 뜨지 않는것 같다.mac에선 기본 브라우져가 뜬다.
  6. 다음 부턴 파일이 저장이 되면 매번 테스트가 실행되어 피드백을 IDE에서 받을수 있다.
  7. 또한 다른 브라우져에서 테스트를 하고 싶다면 jsTestDriver.conf안에 server라고 적혀있는 주소로 들어가면 capture라는 링크가 보이는데 클릭을 하면 다음 부턴 해당 브라우져도 같이 테스트가 된다.
여기 까지가 설치 및 사용방법이다.
좀더 자세한 사용법이 필요하면 이곳을 참고 하길 바란다.

위와 같이 설치해보고 직접 사용해 보면 어떨까 하는 생각에 기존에 JSSpec으로 되어 있던 코드중 일부를 porting 하는 작업을 해봤다.

역시 장단점은 있었다.

먼저 단점
첫번째.  jsTestDriver가 계속 풀링하고 있어서 리소스를 많이 잡아먹어 막 버벅인다.
두번째.  전혀 인간적이 않은 피드백 메세지. 굉장히 보기 힘들다.
세번째.  다소 불편한 사용법. js가 아닌 파일은 사용하지를 못한다. 가끔 HTML도 사용하게 되는데 body에 innerHTML로 삽입하는등 다소 희안한 작업을 해야한다.

장점.
첫번째. 기존 js test framework은 여러개의 브라우져를 띄워서 계속 ctrl+r를 누르거나 settimeout으로 계속 돌리는 작업해야 되는데 비해 쉽게 실행 시킬수 있다.
두번째. 비록 보기 쉽지 않지만 IDE에서 모든 브자우져의 피드백을 볼수 있는건 큰 메리트다.

마지막으로 가장 큰 장점은 추후에 추가될 커버리지,퍼포먼스 측정과 같은 기능이다.

사실 지금 상태로는 기존에 쓰고 있는 js test framework를 변경할 만큼의 메리트는 없지만 추후에 커버리지, 퍼포먼스 측정 및 단점들이 보안이 되면 충분히 기존에 js test framework에서 변경해도 좋을것 같다.

또한 소스를 보니 JsTestDriver안에 들어있는 unit test를 사용하는게 아니라 기타 다른 unit test tool로 변경이 가능할것 같았다.
 
내가 기존에 생각했던 자바스크립트 개발 환경과 굉장히 유사하다. 비록 지금은 다소 부족하지만 훌륭한 툴로서 성장하길 기대한다. ^^;

근데... 레식횽이 만들고 있는 testswarm은 언제쯤 나오려나...


Posted by 전용우