温馨提示×

如何在Debian上实现JS自动化测试

小樊
43
2025-12-17 02:54:37
栏目: 编程语言

在 Debian 上搭建 JS 自动化测试环境


一 环境准备与工具选型

  • 安装 Node.jsnpm(Debian 仓库版本通常较旧,若需新版本可用 NodeSource 安装脚本):
    • 仓库安装:sudo apt update && sudo apt install -y nodejs npm
    • 或 NodeSource(示例为 16.x):curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - && sudo apt-get install -y nodejs
  • 常用测试类型与工具:
    • 单元测试:JestMocha/ChaiJasmine
    • 端到端测试:CypressSelenium
    • 辅助与报告:Sinon.js(Mock)、Allure/JUnit(报告)
  • 建议按项目创建 package.json 并使用 npm 管理依赖与脚本。

二 快速上手示例

  • 使用 Jest 做单元测试
    1. 初始化与安装:npm init -y && npm i -D jest
    2. 示例被测函数:// sum.js function sum(a, b) { return a + b; } module.exports = sum;
    3. 示例测试:// sum.test.js const sum = require(‘./sum’); test(‘adds 1 + 2 to equal 3’, () => { expect(sum(1, 2)).toBe(3); });
    4. 在 package.json 添加脚本:“scripts”: { “test”: “jest” }
    5. 运行:npm test
  • 使用 Cypress 做端到端测试
    1. 安装:npm i -D cypress
    2. 启动与打开:npx cypress open(图形界面选择并运行用例)
    3. 示例测试:// cypress/e2e/example.spec.js describe(‘My Test’, () => { it(‘Visits example.com’, () => { cy.visit(‘https://example.com’); cy.contains(‘Example Domain’).should(‘be.visible’); }); })

三 运行与持续集成

  • 本地运行
    • Jest:npm test 或 npx jest
    • Mocha:npx mocha test/**/*.js(可按需配置断言库如 Chai
    • Cypress:npx cypress open(交互式),或 npx cypress run(无头运行)
  • 持续集成(GitHub Actions 示例)
    • 在 .github/workflows/node.js.yml 中: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: npm install - run: npm test
    • 说明:GitHub Actions 运行环境为 Ubuntu,与 Debian 生态兼容,可直接复用 npm 脚本。

四 常见问题与扩展

  • 无头环境与浏览器依赖
    • Debian 服务器无图形界面时,Cypress 可使用 无头模式(npx cypress run);必要时安装 Xvfb 或使用 Docker 镜像以获得更稳定的浏览器环境。
  • 测试类型与工具扩展
    • 单元测试:Jest(内置断言/快照)、Mocha/Chai(灵活组合)、Jasmine(BDD 风格)
    • 端到端:Cypress(上手快、调试友好)、Selenium(跨浏览器/多语言)
    • Mock/假数据:Sinon.js
    • 报告与质量门禁:AllureJUnit 报告插件
  • 性能与负载相关(可选)
    • 代码级基准:Benchmark.js
    • HTTP 压测:wrkApacheBench (ab)
    • 场景化负载:Artillery
    • 内存与综合:heapdump 快照、Chrome DevTools、Lighthouse

0