테스트 프레임워크 jasmine

JY·2021년 3월 1일
0

🎆 Jasmine?

1. jasmine이란?

jasmine은 javascript를 위한 오픈소스 테스트 프레임워크이다. wiki_Jasmine

2. it aims to

  1. run on any JavaScript-enabled platform.
  2. have easy-to-read syntax.

3. jasmine test 실행 방법

Jasmine은 inbuilt test runner와 함께 동작함.
1. SpecRunner.html파일로 브라우저에서 test를 수행하거나, command line test runner에서 test를 수행할 수 있음.
2. JavaScript test runner tool(테스트 자동화 툴)인 Karma를 이용해 콘솔에서 test 결과를 확인할 수 있다.

※ 테스트 러너(test runner) :
정의된 테스트 클래스들의 객체를 생성하고, 그것들의 테스트 메소드들을 실행하며, 테스트 결과를 보여주는 프로그램 객체



🎆 중요 키워드

1. describe

테스트 할 주제가 무엇인지 알려준다.

2. it

테스트의 각 task 디테일을 알려준다.

3. expect

기대하는 결과를 알려준다.

4. beforeEach

각각의 it 콜백함수를 부르기 전에 실행하는 코드

5. afterEach

각각의 it 콜백함수를 부른 후 실행하는 코드
beforeEach 에서 사용한 변수 값을 리셋(teardown)하고자 할 때 유용하다.

6. beforeAll / afterAll

모든 테스트를 실행하기 전/후에 실행하는 코드



🎆 실행순서

beforeEachafterEach는 각 테스트 단위로 실행되며,
각 테스트 단위는 it으로 작성된다.

  • 실행순서
  1. describe()
  2. beforeEach()실행
  3. it() 실행
  4. afterEach() 실행


🎆 Matchers

1. toEqual

  • 두 개의 대상이 같은지(equivalent) 체크한다.
  • eqal(O), same(x)

2. toBe

  • 두 개의 대상이 단지 같은(equivalent) 정도만이 아니라 객체가 동일한지(same object)를 체크한다.
  • number, Boolean, string과 같은 primitive 타입과 동일한 동작을 한다.
  • ===오퍼레이터를 사용하는 것과 같다.

3. toMatch

4. 이외의 matcher들..

정리해놓은 블로그(matcher알아보기) 참고

5. 기타

  • Mocha와 달리 검증 Matcher도 포함
  • 필요에 따라 jasmine-ajax, jasmine-jquery 등의 자스민 플러그인 추가 가능

0개의 댓글