react native 최신 버전에서 기본적으로 eslint 와 typescript 로
정적 코드 분석을 제공하지만
jest 는 js 버전만 깔려있다
추가적으로 @types/jest
를 깔아줘야 한다
간단하고 빠르게 할 수 있는 unit test 부터 가즈아..
sum.ts
const sum = (a: number, b: number) => {
return a - b;
};
export default sum;
sum.test.ts
import sum from './sum';
test('1 + 2 = 3', () => {
expect(sum(1, 2)).toBe(3);
});
yarn test 등으로 jest 를 실해하면
이런 식으로 FAIL 한 파일에 대한 정보가 보인다
const sum = (a: number, b: number) => {
return a + b;
};
export default sum;
정상적으로 작성해주고 다시 test 를 돌리면
요런 느낌..
test() 함수 대신 it() 함수를 사용해도 된다
결과는 같음
React Native 에서 기본으로 주는 package.json 에는
scripts 가 다음과 같이 되어있다
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start",
"test": "jest"
},
여기서 Jest 에 옵션으로 --verboss 를 주면
test 별 이름과 결과를 각각 볼 수 있다
"scripts": {
...
"test": "jest --verbose"
},
--watchAll 을 주면
테스트가 켜져있는 상태에서 코딩 가능