温馨提示×

Node.js在Debian上的测试方法

小樊
40
2025-11-15 00:59:17
栏目: 编程语言

Node.js在Debian上的测试方法

一 环境准备与版本管理

  • 使用系统仓库安装基础环境:执行sudo apt update && sudo apt install -y nodejs npm,随后用node -vnpm -v确认版本。为获得更新或特定版本,可添加NodeSource仓库(示例:curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - 后安装 nodejs),或使用NVM进行多版本管理(示例:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash,随后 nvm install --lts && nvm use --lts)。遇到多版本并存或冲突时,优先用NVM隔离版本,或在确认无依赖影响后执行sudo apt remove --purge nodejs npm清理后再装目标版本。

二 快速连通性测试

  • 创建最小 HTTP 服务用于验证运行时与端口监听:新建app.js
    const http = require('http');
    const server = http.createServer((req, res) => {
      res.statusCode = 200;
      res.setHeader('Content-Type', 'text/plain');
      res.end('Hello World\n');
    });
    const port = 3000;
    server.listen(port, () => {
      console.log(`Server running at http://localhost:${port}/`);
    });
    
    启动服务:node app.js,在浏览器访问http://localhost:3000/或使用curl http://localhost:3000/,看到“Hello World”即表明 Node 运行与端口监听正常。

三 单元测试与断言

  • Mocha + Chai为例搭建可重复的单元测框架:
    1. 安装依赖:npm i --save-dev mocha chai;2) 在 package.json 增加脚本:“scripts”: { “test”: "mocha test//*.test.js" };3) 被测代码sum.js**:
      function sum(a, b) { return a + b; }
      module.exports = sum;
      
      测试代码test/sum.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);
        });
      });
      
    2. 运行测试:npm test。也可使用JestAVA等框架,按相同思路组织测试与脚本。

四 API 与端到端测试

  • 对 HTTP API 的功能与健壮性进行验证:使用Postman创建请求(如GET http://localhost:3000/)观察状态码与响应体;在命令行用curl做快速回归(如curl -i http://localhost:3000/)。如需覆盖更复杂的请求场景(Headers、Body、认证、场景化集合等),建议以 Postman 集合或 Newman 在 CI 中回放,形成自动化回归。

五 持续集成与进程管理

  • 将测试纳入CI/CD:在GitHub Actions/GitLab CI中配置步骤(如安装 Node、安装依赖、执行npm test),实现每次提交或合并请求自动运行测试并判定结果。上线前可用PM2进行进程守护与零停机重启:全局安装sudo npm install -g pm2,以pm2 start npm --name “my-app” – start启动应用,确保测试通过后能稳定对外提供服务。

0