연습 - 패키지 설치

완료됨

Tailwind Traders 팀은 여러 Node.js 앱을 개발할 계획입니다. 이 팀에서는 npm 레지스트리에서 자주 사용되는 제로 구성 테스트 프레임워크인 Jest를 발견했습니다. Jest를 설치하고, 몇 가지 테스트를 작성하고, 실행하여 효과를 평가하려고 합니다.

npm CLI를 사용하여 테스트 패키지 추가

문자열에서 주소를 추출하는 코드가 있습니다. 작업은 간단합니다. 테스트 프레임워크를 설치하고 몇 가지 테스트를 작성한 후 실행하면 됩니다.

  1. 새 터미널 창(Ctrl + Shift + `)에서 이 연습을 위해 파일이 있는 폴더로 변경합니다.

    cd node-dependencies/5-exercise-dependency
    
  2. 폴더의 콘텐츠를 봅니다.

    ls -R
    

    이 폴더에는 두 개의 JavaScript 파일이 표시됩니다.

    -| address-parser.js
    -| package.json
    
  3. address-parser.js 파일을 엽니다. 다음 파일과 같이 표시됩니다.

     exports.addressParser = function parseOrder(order) {
       const match = order.match(/order:\s(?<order>\w+\s\w+).*address:\s(?<address>\w+\s\w+\s\w+).*payment info:\s(?<payment>\w+)/)
       return match.groups;
     }
    

    이 함수는 문자열을 사용하며 고객이 주문하는 항목, 항목이 제공되어야 하는 위치, 결제 방법에 관한 정보를 구문 분석합니다. Jest를 추가하고 함수에 대한 몇 가지 테스트를 작성하겠습니다.

  4. address-parser.js 파일을 닫습니다.

  5. 다음 명령을 실행하여 Jest 패키지를 설치합니다.

    npm install jest --save-dev
    
  6. Jest 패키지가 설치된 후 package.json 파일을 열고 devDependencies 섹션을 찾습니다. jest 속성의 값이 의미 체계 버전 번호인 다음 예와 같은 항목이 표시됩니다.

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. package.json 파일에서 scripts 섹션을 찾습니다. 기존 test 작업 항목을 다음 코드로 바꿉니다.

    "test": "jest"
    
  8. 변경 내용을 저장하고 package.json 파일을 닫습니다.

  9. 터미널에서 __tests__라는 새 하위 폴더를 만듭니다.

    mkdir __tests__
    

    참고 항목

    __tests__ 폴더를 만들 때 이중 밑줄을 사용해야 합니다. tests 폴더는 테스트 프레임워크인 Jest에서 사용하는 명명 규칙입니다. Jest는 tests 폴더에 있는 모든 파일(또는 이름에 .test. 또는 .spec.이 포함된 파일)을 테스트 파일로 자동 인식하고 테스트를 실행할 때 포함합니다. 이 규칙은 프로젝트에서 테스트 파일을 정리하고 쉽게 식별할 수 있도록 유지하는 데 도움이 됩니다.

  10. __tests__ 폴더에서 address-parser.spec.js라는 파일을 만들고 파일에 다음 콘텐츠를 추가합니다.

     const { addressParser } = require('../address-parser');
    
     describe('Address Parser', () => {
         test('should parse correctly', () => {
             expect(addressParser("I want to to order: 3 books to address: 112 street city here is my payment info: cardnumber")
             ).toEqual({
                 order: "3 books",
                 address: "112 street city",
                 payment: "cardnumber",
             });
         });
     });
    

    테스트 스크립트:

    • address-parser.js 함수의 구문 분석 기능을 확인합니다.
    • 함수가 필요한 정보를 올바르게 구문 분석할 수 있는지 확인합니다.
  11. 변경 내용을 저장하고 파일을 닫습니다.

  12. 이제 프로젝트 구조가 다음 예제와 같이 표시됩니다.

    -| package.json
    -| address-parser.js
    -| __tests__/
    ---| address-parser.js
    
  13. 터미널에서 다음 명령을 입력하여 테스트를 실행합니다.

    npm run test
    

    다음과 같은 출력이 표시됩니다.

      PASS  __tests__/address-parser.js
       Address parser
         ✓ should parse correctly (2 ms)
    
     Test Suites: 1 passed, 1 total
     Tests:       1 passed, 1 total
     Snapshots:   0 total
     Time:        0.4 s
     Ran all test suites.
    

    성공했습니다. 테스트에 통과하며 종속성을 설치하여 테스트를 추가했습니다.

축하합니다. Jest를 종속성으로 성공적으로 설치하고, 애플리케이션 코드에 대한 테스트를 작성하고, 테스트를 실행했습니다. Jest는 예상대로 작동하는 것 같으며 Tailwind Traders는 이 평가에 만족할 것 같습니다.