초보자를 위한 Jest 튜토리얼: 다양한 테스트 실행 방법 [3/4]

계속 진행하기 전에 이전 섹션에서 jest 테스트 및 프로젝트 구성의 기본 사항을 확인하시기 바랍니다.

이 섹션에서는 농담에 대해 더 깊이 파고들 것입니다.

다양한 테스트 실행 방법:


npm test 또는 npm run test 명령은 프로젝트에서 사용 가능한 모든 테스트 스위트를 실행합니다.

1개의 테스트 케이스 또는 1개의 테스트 스위트 실행



방법-I
특정 테스트 스위트(test-file)를 실행하려면 이 명령npm test -- <file_name>을 실행하십시오. 이를 위해 아래 세 가지 명령이 모두 정확합니다.

npm test -- sum



npm test -- sum.test



npm test -- sum.test.js


특정 테스트(test_case)를 실행하려면 이 명령을 실행하십시오.

npm test -- -t "<test_case_name>"



  • 이전 예제를 고려하면 해당 예제에서 테스트 케이스 이름은 add이므로 다음과 같은 명령을 작성해야 합니다.

    npm test -- -t add
    

  • 여기에는 한 가지 단점이 있습니다. 위의 명령에 비해 모든 .test.js 파일이 추가를 위해 검색되고 모든 테스트가 실행됩니다.
  • 또한 테스트 케이스에 추가라는 단어가 있으면 어떤 .test.js 파일이든 상관없이 실행됩니다.
  • 이 모든 것은 -t 명령이 정규 표현식을 설정하는 데 도움이 되고 모든 테스트 케이스 문자열을 계산할 수 있기 때문입니다.

  • 위 시나리오의 타자 솔루션은 테스트 스위트 이름과 테스트 케이스 이름을 결합하여 명령을 더 많이 제한하는 것입니다.

    npm test -- sum.test.js -t add
    


  • 그러나 test_suite에 add라는 단어가 있는 테스트 사례가 있는 경우 둘 이상의 테스트 사례를 실행할 수 있습니다.

  • 방법-II - 사용.only()단일 test_case를 only()로 표시하면 jest는 only() 메서드로 정의된 test_case에 대해서만 실행되고 다른 모든 test_case는 건너뜁니다.

    only()를 사용하여 둘 이상의 test_cases를 표시하거나 정의할 수 있습니다.

    이것은 jest에 대한 명령을 제한하는 데 도움이 됩니다. 이제 앞에서 설명한 명령이 올바르게 작동합니다.

    npm test -- sum.test.js
    


    예시
    sum.test.js 파일

    const sum = require("../sum")
    test.only("2 + 2 equal 4, add",()=>{
        expect(sum(2,2)).toBe(4);
    });
    
    test("add",()=>{
        expect(sum(2,4)).toBe(6);
    });
    


    명령npm test -- sum.test.js을 실행하면 다음 결과가 표시됩니다.

     PASS  __test__/sum.test.js
      √ 2 + 2 to equal 4, add (5 ms)
      ○ skipped add
    


    방법-III - 시청 모드
    감시 모드에는 .test.js 파일에서 변경 사항을 찾고 변경 사항을 다시 테스트한다는 장점이 있습니다.

    둘째, 테스트를 시작하거나 .tes.js 파일의 변경 사항을 확인한 후 작업을 빠르게 선택할 수 있는 메뉴를 생성합니다.

    그렇게 하려면 다음 명령을 실행하십시오.

    npm test -- --watch
    


    위의 명령을 실행하면 아래와 같은 메뉴가 나타납니다.

    Watch Usage
     › Press f to run only failed tests.
     › Press o to only run tests related to changed files.
     › Press p to filter by a filename regex pattern.
     › Press t to filter by a test name regex pattern.
     › Press q to quit watch mode.
     › Press Enter to trigger a test run.
    


    이제 원하는 옵션을 선택하십시오.

    예쁜 형태로 테스트 보고서 받기:
    테스트의 예쁜 결과를 얻으려면 다음 명령을 사용하십시오.

    npm test --coverage
    


    위의 명령은 다음 형식으로 결과를 제공합니다.

     PASS  __test__/index.test.js
     PASS  __test__/sum.test.js
    ----------|---------|----------|---------|---------|-------------------
    File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
    ----------|---------|----------|---------|---------|-------------------
    All files |     100 |      100 |     100 |     100 |                   
     sum.js   |     100 |      100 |     100 |     100 |                   
    ----------|---------|----------|---------|---------|-------------------
    
    Test Suites: 2 passed, 2 total
    Tests:       1 skipped, 2 passed, 3 total
    Snapshots:   0 total
    Time:        2.27 s
    Ran all test suites.
    


    참고: 결과적으로 모든 테스트 스위트(test_files)와 테스트 케이스가 my jest를 실행한다는 것을 알 수 있습니다.

    결론:
    참고: 당신이 bagginer라면 나는 결론에서 제안된 것을 따르지 말 것을 제안할 것입니다.

    따라서 지금까지 본 모든 기술에 대해 짧은 명령을 사용해 보십시오. 이렇게 하면 시간을 절약할 수 있을 뿐만 아니라 전반적인 개발자 경험도 향상됩니다.
    package.json 파일에서 명령을 설정하십시오.

    {
    ...
      "scripts": {
        "test": "jest",
        "testw": "jest --watch",
        "testc": "jest --coverage",
    ...
      },
      "devDependencies": {
        "jest": "^18.1.0",
        ...
      },
    
    }
    


    vs 코드를 사용하는 경우 jest 러너 확장을 설치하여 더 많은 시간을 절약하세요.


    새로운 개념을 탐구하고 다른 사람들과 공유하는 것이 저의 열정이며 사람들을 돕고 영감을 주는 것이 저에게 기쁨입니다. 질문이 있으시면 언제든지 문의해 주세요!

    , 및 GitHub에 연결

    모든 사람이 개선할 여지가 있다는 것을 알고 있으므로 귀하의 제안에 감사드립니다. 그리고 새로운 것을 알고 싶습니다(❤️).

    좋은 웹페이지 즐겨찾기