Jest를 사용하여 프로젝트에 단위 테스트 사례를 추가하는 방법

테스트 케이스가 없는 A는 텍스트일 뿐입니다. 텍스트 케이스는 웹 앱의 효율성을 높이는 모든 애플리케이션에 중요하며 가장 중요한 것은 모든 엣지 케이스가 이러한 테스트 케이스에 포함된다는 것입니다. 이제 테스트에 대해 이야기하고 있으므로 JEST for Javascript라는 테스트 프레임워크에 대해 이야기하겠습니다.

정말 훌륭한 프레임워크가 몇 가지 더 있으며, 하나를 선택하는 것은 취향과 필요에 달려 있습니다.

이 기사에서는 간단한 JavaScript 프로젝트를 기본으로 사용합니다. 특정 진술이 참인지 거짓인지 결정하는 결정 스크립트가 있습니다.

기능 확인



메인 폴더에서 define.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 파일
  • 프로젝트 내의 .test.js 파일
  • 프로젝트 내의 .spec.js 파일

  • 지금은 determine.test.js 파일을 추가하겠습니다. 이것은 determine.js 파일을 기본으로 가지고 있기 때문에 의미가 있습니다.

    파일을 시작하려면 먼저 함수를 가져와야 합니다.

    const { isNumber } = require('./determine');
    


    그런 다음 테스트를 정의할 수 있습니다. 각 테스트는 통과하거나 실패할 수 있는 격리된 범위입니다.

    정답을 예상하기 위해 만든 테스트를 추가하여 시작하겠습니다.

    test('Validate a number', () => {
      expect(isNumber(1)).toBeTruthy();
    });
    


    문자열(테스트 이름)을 보유하고 함수를 실행하는 테스트를 정의하는 것으로 시작합니다.
    실제 테스트 상태:

    예상 -> 기능(변수) -> 참일 것

    저는 Jest가 이러한 매우 인간이 읽고 이해할 수 있게 만든 방법을 정말 좋아합니다.

    isNumber 함수에 숫자 1을 전달할 때 참이 되도록 요청합니다.

    이제 다음 명령을 호출하여 테스트를 실행할 수 있습니다.

    npm run test
    




    와우, 테스트가 성공하고 있습니다. 이제 실패한 테스트 사례를 추가해 보겠습니다.

    test('Invalidate a string', () => {
      expect(isNumber('ABC')).toBeTruthy();
    });
    


    동일한 테스트를 사용하지만 잘못된 번호를 전달하므로 테스트가 실패해야 합니다.


    그리고 예상대로 실패합니다!
    따라서 거짓 값을 평가하도록 테스트 사례를 수정해 보겠습니다.

    결론



    이것은 매우 간단한 테스트이지만, 예를 들어 주어진 숫자 양식 필드에서 문자열이 아닌 숫자 값이 필요한 것과 같이 매우 중요할 수 있습니다. 이 테스트 케이스를 거기에서 사용할 수 있습니다. 또한 테스트 사례를 더 복잡하게 만드는 방법은 손에 달려 있습니다.

    감사합니다

    좋은 웹페이지 즐겨찾기