摘要
本 Code Pattern 向您展示如何使用测试驱动开发(TDD)来创建世界一流的 Node.js 货币转换微服务。此 Code Pattern 是一个微服务,它是 Bee Travels 项目的一部分。
概览
本 Code Pattern 向您展示如何使用测试驱动开发(TDD)来创建世界一流的 Node.js 货币转换微服务。此 Code Pattern 是一个微服务,它是 Bee Travels 项目的一部分。
测试驱动开发是一种将编码、测试和设计紧密结合在一起的编程风格。因此,在设计应用程序的功能时,首先要编写单元测试,然后再实现代码。
本 Pattern 通过使用现代 JavaScript ECMA 脚本和流行的 NPM 库(在项目页面底部的 “Anatomy of this Application” 部分中列出)展示了现代 Node.js 开发。对于单元测试,我们将使用 Jest,这是一个能够与 TDD 配合良好的 JavaScript 单元测试框架测试库。
前提条件
您需要先了解测试驱动开发才能跟上此 Pattern 中的步骤。
- 阅读测试驱动开发的 5 个步骤,了解测试驱动开发的简介。
您还需要在本地机器上安装:
- Docker
- 配置的IBM Cloud Kubernetes Service provisioned
- Node.js v10 或更高版本
成果
学完本 Code Pattern 之后,您将掌握如何:
- 设计并创建 Node.js 微服务及 REST 接口,该接口有 swagger 测试工具,您可以在其中手动检查、发现和运行各种 API 端点。
- 使用并运行这一简单的微服务。
- 将本代码库作为参考架构和工具链使用来创建您自己的 Node.js 微服务。
- 在 Kubernetes 上部署并运行此微服务。
流程
此流用于货币转换微服务的运行时。
- 使用者通过因特网使用 http/s 请求调用微服务。
- ExpressJS Web 服务器接受 REST 请求(例如,GET /convertCurrency/ZAR/USD/600.66)。
- Express 中的代码路由将请求传递到一个服务模块,该服务模块又调用欧洲货币兑换 API。
- 检索并存储 ZAR 的汇率。600.66 的南非兰特(ZAR) 的被换算成美元 (USD)。
- ExpressJS Web 服务器将以美元金额(在本例中为 $40.59)将响应发送给使用者。
操作说明
- 运行
git clone TDD-NodeJS-Containers
来克隆代码仓库。 - 运行
node -v
来确保安装 Node.js 10.16.1 或更高版本。 - 运行
npm install
来使用 NPM 安装软件包。 - 运行
npm start
来启动应用程序。 - 从您的浏览器
localhost:4001
浏览 API。
本文翻译自:Use test-driven development to build a Node.js application(2020-02-07)