演習 - パッケージをインストールする
Tailwind Traders のチームは、複数の Node.js アプリの開発を計画しています。 チームは、npm レジストリで、よく使われるゼロ構成テスト フレームワークである Jest を見つけました。 チームはあなたに、Jest をインストールし、テストをいくつか作成し、それを実行してその有効性を評価することを望んでいます。
npm の CLI を使用してテスト パッケージを追加する
文字列からアドレスを抽出するコードがいくつかあります。 あなたの作業は簡単なもので、テスト フレームワークをインストールし、テストをいくつか作成して実行します。
ターミナル ウィンドウ (Ctrl + Shift + `) で、この演習用のファイルがあるフォルダーに変更します。
cd node-dependencies/5-exercise-dependency
フォルダーの内容を確認します。
ls -R
このフォルダーには、JavaScript ファイルが 2 つ表示されているはずです。
-| address-parser.js -| package.json
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 を追加し、この関数について、いくつかのテストを記述します。
address-parser.js
ファイルを閉じます。次のコマンドを実行して、Jest パッケージをインストールします。
npm install jest --save-dev
Jest パッケージがインストールされたら、
package.json
ファイルを開いて、devDependencies
セクションを見つけます。jest
プロパティの値がセマンティック バージョン番号である、次の例のようなエントリが表示されます。"devDependencies": { "jest": "<number.number.number>" }
package.json ファイルを開き、
scripts
セクションを見つけます。 既存のtest
アクション エントリを、次のコードに置き換えます。"test": "jest"
変更を保存して、package.json ファイルを保存します。
ターミナルで、__tests__ という名前の新しいサブフォルダーを作成します。
mkdir __tests__
Note
__tests__ フォルダーを作成するときは、必ず二重アンダースコアを使用してください。 tests フォルダーは、テスト フレームワークの Jest で使われる名前付け規則です。 Jest は、tests フォルダー内のすべてのファイル (または名前に .test. または .spec が付いているファイル) をテスト ファイルとして自動的に認識し、テストの実行時にそれらを含めます。 この規則は、テスト ファイルを整理し、プロジェクト内で簡単に識別するのに役立ちます。
__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 関数の解析機能を調べます。
- 関数が必要な情報を正しく解析できることを確認します。
変更を保存し、ファイルを閉じます。
これで、プロジェクトの構造はこの例のようになります。
-| package.json -| address-parser.js -| __tests__/ ---| address-parser.js
ターミナルで次のコマンドを入力して、テストを実行します。
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 はこの評価に満足しています。