FullStackOpen: Test Node.js app with Jest

教程:FullStackOpen2022/Part 4 软件开发的一个重要环节,就是自动化测试。 本文中以 bloglist 应用为例。对应练习 4.3-4.14。 1. 配置测试环境 通常的做法是为开发和测试定义不同的模式。而 Node 中是用 NODE_ENV 环境变量定义应用的执行模式。 在脚本中指定应用模式的方式不能在 Windows 上工作,这可以通过安装 cross-env 作为一个开发依赖包来修复。另外,如果应用是部署在 Heroku上,cross-env 作为开发依赖项可能在 web 服务器上报错,可以将 cross-env 保存为生产依赖修复这个错误。 npm install --save-dev cross-env npm i cross-env -P 通过在 package.json 中定义 npm 脚本使用跨平台兼容性的 cross-env 库来配置环境: "scripts": { "start": "cross-env NODE_ENV=production node index.js", "dev": "cross-env NODE_ENV=development nodemon index.js", "test": "cross-env NODE_ENV=test jest --verbose --runInBand" }, 对定义应用配置的模块 config.js 进行一些修改: require('dotenv').config() const PORT = process.env.PORT; const MONGODB_URI = process....

2022-04-18 · 5 min