在 Debian 中测试 JavaScript 应用的实用流程
一 环境准备
- 安装运行时与包管理:执行命令安装 Node.js 与 npm,并确认版本。
- 命令:sudo apt update && sudo apt install -y nodejs npm
- 验证:node -v、npm -v
- 初始化项目(如尚未初始化):npm init -y
- 建议使用 nvm 管理 Node 版本,便于多版本切换与隔离依赖。
二 单元测试与断言
- 常用组合与安装
- Jest:npm i -D jest
- Mocha + Chai:npm i -D mocha chai
- 示例用例
- 使用 Jest(文件:sum.test.js)
- 代码:
- const { sum } = require(‘./sum’);
- test(‘adds 1 + 2 to equal 3’, () => { expect(sum(1, 2)).toBe(3); });
- 运行:npx jest 或 npm test
- 使用 Mocha + Chai(文件:test/example.test.js)
- 代码:
- const { expect } = require(‘chai’);
- const { sum } = require(‘…/sum’);
- describe(‘sum’, () => {
it(‘should return the sum of two numbers’, () => {
expect(sum(1, 2)).to.equal(3);
expect(sum(-1, 1)).to.equal(0);
});
});
- 运行:npx mocha test//*.test.js
- 在 package.json 中配置脚本
- “scripts”: { “test”: “jest” } 或 “scripts”: { “test”: “mocha test/**/*.test.js” }
三 运行与接口测试
- 启动服务:例如 node app.js,默认监听 http://localhost:3000/
- 手工与命令行验证
- 浏览器访问:http://localhost:3000/
- curl 验证:curl -i http://localhost:3000/
- API 调试工具
- Postman:sudo snap install postman --classic,适合复杂接口与自动化场景
四 调试与覆盖率
- 调试
- 使用 Node.js 内置调试器:node --inspect app.js 或 node --inspect-brk app.js
- 在 Chrome 打开 chrome://inspect,点击 Open dedicated DevTools for Node 设置断点、单步执行与查看变量。
- 覆盖率
- 以 Jest 为例:安装 jest(已装可跳过),在 package.json 添加脚本
- “scripts”: { “test”: “jest --coverage” }
- 运行 npm test 后查看生成的 coverage/ 目录报告。
五 负载测试与持续集成
- 负载测试
- 简单脚本:用 Node.js 发起并发请求,统计响应时间与错误率(适合入门与快速验证)。
- 专业工具:使用 Artillery 或 wrk 进行更高并发与更丰富指标的压测。
- 持续集成
- 将测试纳入 GitHub Actions / GitLab CI / Travis CI,在每次提交或合并请求时自动运行测试,保障主干稳定。