프로젝트에 Jest 테스트 추가

5983 단어 testing
이제 테스트에 대해 이야기하고 있으므로 JavaScript용으로 꽤 잘 사용되는 테스트 프레임워크인 Jest를 사용해 보겠습니다.

저는 지난 몇 달 동안 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에 연결하거나

    좋은 웹페이지 즐겨찾기