오늘은 테스트 코드에 관심이 생겨 공부해보려고 한다 .
먼저 jest로 공식문서를 읽어보고 사용해보려고하고있다.
jest를 사용하려면?
- npm i
- npm i jest --save-dev
3.package.json에서 "script" 내부의 "test":"jest"로 수정해준다.
이 세가지 절차를 밟는다면 jest를 시작할 준비가 되었다.
먼저 함수를 모아놓을 fn.js 파일을 생성한다.
const fn = {
add:(num1,num2)=>num1+num2
}
module.export = fn
위처럼 함수를 생성하면 module.export를 사용해 fn을 내보내준다.
그리고 새로운 파일을 만들어준다.
ex)fn.test.js << 이런식으로 test.js를 붙여주면 기존 js 파일과 다른 형태로 파일이 생성되고 테스팅을 할 수 있게된다.
fn.test.js파일로 돌아와 테스트 코드를 작성한다.
test('should first', () => { second })
//test라는 함수의 코드조각을 사용하면 이런 형태의 함수가 제공된다.
should first부분에는 테스팅메세지를 구체적으로 적어주면 좋다.
() => { second } 이 부분은 테스팅코드의 매개변수로 전해줄 데이터와 결과값을 적어주면 된다.
예상되는 결과값은 toBe안에 적어준다. toBe부분에서 사용되는 함수를 matcher라고 한다.
자 이제 본격적으로 작성해보자.
const fn =require("./fn")
test('1더하기3은 4입니다.', () => {
expect(fn.add(1,3)).toBe(4);
})
이렇게 작성하고 터미널에서 npm test 라고 쳐주면 결과에따라 failed,passed 를 나타내준다.
test('1+3은 5가아니다.', () => {
expect(fn.add(1,3)).not.toBe(5);
})
이런식으로 toBe의 앞에 not을써서 참과 거짓을 나타내 참이면 패스 아니면 failed를
나타내게도 할 수 있다.