AngularJS를 사용해서 구현한 Single Page Application(SPA)는 Unit Testing, End-to-end(E2E) Testing 2가지 방법을 이용해서 테스트가 가능하다.
- Unit Tesing:
karma
기반의jasmine/mocha
테스트 프레임워크 - E2E Testing:
Selenium WebDriver
로 브라우저 테스트 자동화,Protractor
프레임워크 기반으로 jasmine/mocha 테스트 프레임웍을 사용
karma, jasmine, mocha, protractor 모두 nodejs 기반으로 동작한다. E2E 테스트는 Protractor 기반으로 jasmine이나 mocha를 이용해서 테스트 코드를 작성하고, Selenium WebDriver가 브라우저를 자동 실행하여 화면 이벤트를 발생시킨다.
Unit Testing using Karma
카르마 설치하기
1 | # Install Karma: |
Karma 패키지
를 설치한다. jasmine 기반으로 테스트 하기 위해서 karme-jasmine
도 설치해준다. karma-chrome-launcher
은 필요없다면 굳이 설치하지 않아도 상관없다. 윈도우에서 사용하려면 karma-cli
를 설치하면 쉽게 사용할 수 있다고 한다. (근데 사용해보니 제대로 동작하지 않는 것 같음)
karma 설정하기
karma init 파일명.js
을 이용해서 카르마 설정 파일을 만들어 준다. 다음과 같이 커맨드 창에 입력하면, 문답형식으로 간단하게 설정 파일을 생성할 수 있다.
1 | $ karma init karma.conf.js |
생성된 karma.conf.js
을 개발 환경에 맞춰 수정하였다. 결과는 아래와 같다.