프로젝트에 Jest 테스트 추가
5983 단어 testing
저는 지난 몇 달 동안 Jest를 사용해 왔으며 지금까지 Jest가 정말 강력하다는 것을 알았습니다.
정말 훌륭한 프레임워크가 몇 가지 더 있으며, 하나를 선택하는 것은 취향과 필요에 달려 있습니다.
이 기사에서는 간단한 JavaScript 프로젝트를 기초로 사용하겠습니다.
특정 진술이 참인지 거짓인지를 결정하는 결정 스크립트가 있습니다.
GitHub에서 시작점을 다운로드할 수 있습니다.
기능 검증
메인 폴더에서
determine.js
함수를 볼 수 있습니다.이것은 기본적으로 우리의 앱입니다. 변수가 숫자인지 확인하는 데 사용됩니다.
가장 기본적인 경우 다음 테스트를 수행해야 합니다.
isNumber(123);
// Should be true
isNumber('abc');
// Should be false
먼저 Jest를 프로젝트에 추가하여 이를 테스트할 수 있도록 해야 합니다.
npm install -D jest
위의 코드는 dev 종속성에 jest 패키지를 설치합니다.
이제 테스트 명령을 포함하도록
package.json
를 수정해야 합니다."scripts": {
"test": "jest"
}
Jest의 멋진 점은 테스트 가능한 것으로 간주되는 모든 파일에서 자동으로 실행될 수 있다는 것입니다.
기본적으로 다음 파일에서 실행할 수 있습니다.
.js
__tests__
폴더 안의 파일 .test.js
프로젝트 내의 파일.spec.js
프로젝트 내의 파일지금은
determine.test.js
파일을 추가하겠습니다. 이것은 determine.js
파일을 기본으로 가지고 있기 때문에 의미가 있습니다.파일을 시작하려면 먼저 함수를 가져와야 합니다.
const { isNumber } = require('./determine');
그런 다음 테스트를 정의할 수 있습니다. 각 테스트는 통과하거나 실패할 수 있는 격리된 범위입니다.
정답을 예상하기 위해 만든 테스트를 추가하여 시작하겠습니다.
test('Validate a number', () => {
expect(isNumber(1)).toBeTruthy();
});
문자열(테스트 이름)을 보유하고 함수를 실행하는 테스트를 정의하는 것으로 시작합니다.
실제 테스트 상태:
예상 -> 기능(변수) -> 참일 것
저는 Jest가 이러한 매우 인간이 읽고 이해할 수 있게 만든 방법을 정말 좋아합니다.
숫자 1을 전달할 때 함수
isNumber
가 참이 되도록 요청합니다.이제 다음 명령을 호출하여 테스트를 실행할 수 있습니다.
npm run test
보시다시피 테스트가 성공하고 있습니다.
테스트를 강화하고 실패한 테스트를 추가하되 동일한 평가를 남겨둡니다.
test('Invalidate a string', () => {
expect(isNumber('ABC')).toBeTruthy();
});
동일한 테스트를 사용하지만 잘못된 번호를 전달하므로 테스트가 실패해야 합니다.
그리고 예상대로 실패합니다!
따라서 거짓 값을 평가하도록 테스트 사례를 수정해 보겠습니다.
test('Invalidate a string', () => {
expect(isNumber('ABC')).toBeFalsy();
});
테스트는 성공하지만 여전히 실패한 값을 확인합니다!
완료된 테스트는 여기GitHub에서 찾을 수 있습니다.
결론
이것은 매우 간단한 테스트이지만 매우 중요할 수 있습니다. 이
isNumber
함수에서 무언가를 수정한다고 가정해 보겠습니다. 우리의 테스트는 이제 무언가 잘못되었음을 빠르게 보여줄 것입니다.몇 가지 특정 테스트 사례를 작성하고 Jest를 사용하고 활용할 수 있는 방법을 보여주는 방법에 대해 좀 더 자세히 설명하겠습니다.
읽어주셔서 감사합니다. 연결해 봅시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(프로젝트에 Jest 테스트 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/adding-jest-tests-to-a-project-3hai텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)