Jest?
- JavaScript를 위한 testing Framwork
- Nest.js에는 미리 설치되어 있고, script도 설정 되어 있어 따로 뭘 할 필요는 없다.
- Nest.js에서는 .spec.ts 가 테스트전용 파일
- 그 외 설치
- yarn add --dev jest
- 기본 사용법
it("테스트 설명", () => {
expect('검증대상').to~('기대 결과')
}
describe('덧셈', () => {
const a =1, b = 2 // 일회용 변수
it('a+b의값은 3', () => {
expect(a+b).toEqual(3);
});
});
- describe는 테스트 그룹을 묶어주는 역할
- to~() 는 Test Matcher라고 한다.
Matcher
- toEqual()
- toBe()
- toBeDefined()
- toBeTruthy() / toBeFalsy()
- toBeCalled() / toHaveBeenCalled()
- toHaveLength() / toContain()
- 배열의 길이 체크 / 특정 원소가 배열에 있는지 체크
- toMatch()
- toThrow()
- 예외 발생 여부
- 주의( expect()함수에 넘기는 검증 대상을 함수로 한 번 감싸줘야 한다.)
- toHaveProperty()
- 객체에 해당 key : value 가 있는지 체크
- toBeCalledTimes() / toBeCalledWith()
- 함수가 몇번 호출 되었는지 / 함수가 설정한 인자로 호출 되었는지
- toReturn() / toHaveReturned()
- toReturnTimes() / toHaveReturnedTimes()
- toReturnWith() / toHaveReturnedSith(value)