如何在Debian上实现JS自动化测试
小樊
43
2025-12-17 02:54:37
在 Debian 上搭建 JS 自动化测试环境
一 环境准备与工具选型
- 安装 Node.js 与 npm(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
- 常用测试类型与工具:
- 单元测试:Jest、Mocha/Chai、Jasmine
- 端到端测试:Cypress、Selenium
- 辅助与报告:Sinon.js(Mock)、Allure/JUnit(报告)
- 建议按项目创建 package.json 并使用 npm 管理依赖与脚本。
二 快速上手示例
- 使用 Jest 做单元测试
- 初始化与安装:npm init -y && npm i -D jest
- 示例被测函数:// sum.js
function sum(a, b) { return a + b; }
module.exports = sum;
- 示例测试:// sum.test.js
const sum = require(‘./sum’);
test(‘adds 1 + 2 to equal 3’, () => { expect(sum(1, 2)).toBe(3); });
- 在 package.json 添加脚本:“scripts”: { “test”: “jest” }
- 运行:npm test
- 使用 Cypress 做端到端测试
- 安装:npm i -D cypress
- 启动与打开:npx cypress open(图形界面选择并运行用例)
- 示例测试:// 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
- 报告与质量门禁:Allure、JUnit 报告插件
- 性能与负载相关(可选)
- 代码级基准:Benchmark.js
- HTTP 压测:wrk、ApacheBench (ab)
- 场景化负载:Artillery
- 内存与综合:heapdump 快照、Chrome DevTools、Lighthouse。