新しい IBM Developer JP サイトへようこそ!サイトのデザインが一新され、旧 developerWorks のコンテンツも統合されました。 詳細はこちら

テスト駆動型開発の手法に従って Node.js アプリケーションを作成する

概要

このコード・パターンでは、世界に通用する通貨換算マイクロサービスを作成する方法を説明します。これは、テスト駆動型開発 (TDD) に従って Node.js で作成された、Bee Travels プロジェクトに含まれるマイクロサービスです。

説明

このコード・パターンでは、世界に通用する通貨換算マイクロサービスを作成する方法を説明します。これは、テスト駆動型開発 (TDD) に従って Node.js で作成された、Bee Travels プロジェクトに含まれるマイクロサービスです。

テスト駆動型開発 (TDD) は、コーディング、テスト、設計を緊密に結び付けたプログラミング・スタイルです。つまり、アプリケーションの機能を設計する際は、単体テストを作成してからコードを実装します。

このコード・パターンでは、最新型の JavaScript ECMA スクリプトとよく使われている NPM (このページの最後にある、アプリケーションの詳細を明しているセクションを参照) を使用して、最新型の Node.js 開発を紹介します。単体テストには、TDD と相性の良い Jest という JavaScript 単体テスト・フレームワークのテスト用ライブラリーを使用します。

前提条件

このパターンの手順に従うには、テスト駆動型開発の知識が必要です。

また、ローカル・マシンに以下のものがインストールされている必要があります。

結果

このコード・パターンを完了すると、以下の方法がわかるようになります。

  • REST インターフェースの Swagger テスト・ハーネスを使用して手作業で各種 API エンドポイントを検査、検出、実行できる、Node.js マイクロサービスを設計して作成する
  • シンプルなマイクロサービスを使用し、実行する
  • リファレンス・アーキテクチャー兼ツールチェーンとしてのコード・ベースを使用して、独自の Node.js マイクロサービスを作成する
  • マイクロサービスを Kubernetes 上にデプロイして実行する

フロー

通貨換算マイクロサービスのランタイムのフローを以下に示します。

フロー

  1. コンシューマーが HTTP/S リクエストを使用して、インターネット経由でマイクロサービスを呼び出します。
  2. ExpressJS Web サーバーが REST リクエスト (例: GET /convertCurrency/ZAR/USD/600.66) を受け入れます。
  3. Express 内のリクエストをルーティングするコードによってリクエストがサービス・モジュールに渡され、このモジュールによって European Currency Exchange API が呼び出されます。
  4. 南アフリカ・ランド (ZAR) の為替レートが取得されて保管されます。600.66 ZAR が米国ドル (USD) に換算されます。
  5. ExpressJS Web サーバーがレスポンスで、呼び出し側コンシューマーにドルの金額 (この例の場合、$40.59) を返します。

手順

このコード・パターンを試すには、GitHub リポジトリー内の README.md ファイルに記載されている詳細な手順を参照してください。手順の概要は以下のとおりです。

  1. git clone TDD-NodeJS-Containers を実行してリポジトリーのクローンを作成します。
  2. node -v を実行して、Node.js 10.16.1 以降がインストールされていることを確認します。
  3. NPM でパッケージをインストールするために、npm install を実行します。
  4. npm start を実行してアプリを起動します。
  5. ブラウザーから localhost:4001 にアクセスし、API を参照します。