演習 - パッケージをインストールする

完了

Tailwind Traders のチームは、複数の Node.js アプリの開発を計画しています。 チームは、npm レジストリで、よく使われるゼロ構成テスト フレームワークである Jest を見つけました。 チームはあなたに、Jest をインストールし、テストをいくつか作成し、それを実行してその有効性を評価することを望んでいます。

npm の CLI を使用してテスト パッケージを追加する

文字列からアドレスを抽出するコードがいくつかあります。 あなたの作業は簡単なもので、テスト フレームワークをインストールし、テストをいくつか作成して実行します。

  1. ターミナル ウィンドウ (Ctrl + Shift + `) で、この演習用のファイルがあるフォルダーに変更します。

    cd node-dependencies/5-exercise-dependency
    
  2. フォルダーの内容を確認します。

    ls -R
    

    このフォルダーには、JavaScript ファイルが 2 つ表示されているはずです。

    -| 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__
    

    Note

    __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 はこの評価に満足しています。