首页主机资讯CentOS Node.js项目如何进行测试

CentOS Node.js项目如何进行测试

时间2026-01-19 20:46:04发布访客分类主机资讯浏览845
导读:在 CentOS 上测试 Node.js 项目的完整流程 一 环境准备与版本管理 建议使用 NVM 管理 Node.js 版本,便于多版本切换与隔离: 安装与启用: yum 安装 git:sudo yum install -y gi...

在 CentOS 上测试 Node.js 项目的完整流程


一 环境准备与版本管理

  • 建议使用 NVM 管理 Node.js 版本,便于多版本切换与隔离:
    • 安装与启用:
      • yum 安装 git:sudo yum install -y git
      • 克隆并启用 nvm:git clone https://github.com/cnpm/nvm.git ~/.nvm & & cd ~/.nvm & & git checkout git describe --abbrev=0 --tags
      • echo “. ~/.nvm/nvm.sh” > > /etc/profile & & source /etc/profile
    • 常用命令:nvm ls-remote、nvm install v14.17.0、nvm use v14.17.0、nvm alias default v14.17.0
  • 也可使用二进制包安装(示例):
    • wget https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz
    • tar -xvJf node-v14.17.0-linux-x64.tar.xz
    • ln -s /root/node-v14.17.0-linux-x64/bin/node /usr/local/bin/node
    • ln -s /root/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/npm
    • 验证:node -v、npm -v
  • 国内环境可设置 npm 镜像源 提升安装速度:npm config set registry https://registry.npmmirror.com

二 测试类型与常用工具

  • 单元测试:验证最小单元(函数、类、模块)的正确性,推荐 Jest / Mocha + Chai / Tape / Tap
  • 集成测试:验证多个模块/服务协作,常用 Supertest 对 HTTP 接口发起请求,配合内存数据库或测试替身。
  • 端到端测试(E2E):模拟真实用户操作,推荐 Cypress / Selenium
  • 覆盖率与质量:使用 Istanbul(nyc)生成覆盖率报告;配合 ESLint 做静态检查。

三 快速上手示例

  • 示例一 Mocha + Chai(适合已有项目渐进引入)
    1. 安装依赖:npm i -D mocha chai
    2. 在 package.json 添加脚本: { “scripts”: { “test”: “mocha ‘test/**/*.js’ -R spec” } }
    3. 编写测试 test/math.test.js: const { expect } = require(‘chai’); const { add } = require(‘…/math’); describe(‘math.add’, () => { it(‘should return 3 when adding 1 and 2’, () => { expect(add(1, 2)).to.equal(3); } ); } );
    4. 运行:npm test
  • 示例二 Jest(开箱即用,适合新项目)
    1. 安装:npm i -D jest
    2. 配置 package.json: { “scripts”: { “test”: “jest” } , “jest”: { “testEnvironment”: “node” } }
    3. 编写测试 math.test.js: const { add } = require(‘./math’); test(‘adds 1 + 2 to equal 3’, () => { expect(add(1, 2)).toBe(3); } );
    4. 运行:npm test
  • 示例三 Supertest 接口测试(Express 示例)
    1. 安装:npm i -D supertest
    2. 假设 app.js 导出 express 实例: const request = require(‘supertest’); const app = require(‘./app’); describe(‘GET /’, () => { it(‘should return 200 and hello’, async () => { const res = await request(app).get(‘/’); expect(res.statusCode).toBe(200); expect(res.text).toContain(‘Hello’); } ); } );
    3. 运行:npm test

四 覆盖率与静态检查

  • 覆盖率(Istanbul/nyc)
    • 安装:npm i -D nyc
    • 运行:npx nyc npm test(或 npx nyc mocha)
    • 生成 HTML 报告:npx nyc --reporter=html npm test,报告位于 coverage/ 目录
  • 静态检查(ESLint)
    • 初始化:npx eslint --init,按需选择框架与风格
    • 检查:npx eslint .

五 运行与持续集成

  • 本地运行
    • 监听模式:在 package.json 增加脚本 “test:watch”: “mocha --watch” 或 “test:watch”: “jest --watch”,保存即测
  • 持续集成(GitHub Actions 示例 .github/workflows/ci.yml)
    • name: CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: ‘14’ } - run: npm ci - run: npm test – --ci - run: npx nyc report --reporter=text-lcov | npx coveralls
    • 说明:若使用 Jenkins / Travis CI 等,也可按相同思路配置脚本与报告上传

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Node.js项目如何进行测试
本文地址: https://pptw.com/jishu/786196.html
Ubuntu Strings对网站加载速度有何影响 怎样用Nginx配置HTTPS跳转

游客 回复需填写必要信息