发布于2026-07-20 阅读(0)
扫一扫,手机访问
在Ubuntu上搭建Node.js自动化测试环境,其实没有想象中那么复杂。只要把几个关键步骤走通,后续的测试流程就能顺滑跑起来。下面就把这套流程拆开来讲,每一步都带着实操要点。
首先,系统里得先有Node.js。Ubuntu下用包管理器安装是最直接的方式:
sudo apt update
sudo apt install nodejs npm
装完别急着走,先确认一下版本,避免后续踩坑:
node -v
npm -v
看到版本号顺利输出,说明环境已经就位。
接下来,新建一个项目文件夹,并初始化成一个Node.js项目。这一步相当于给测试工作搭个“工位”:
mkdir my-automation-project
cd my-automation-project
npm init -y
“-y”参数会直接生成默认的package.json,省去手动填信息的麻烦。
测试框架的选择空间很大,Jest、Mocha、Cypress都是常客。这里以Jest为例,因为它上手快、生态完善,而且对新手特别友好:
npm install --sa ve-dev jest
注意,--sa ve-dev是把框架作为开发依赖安装,这样生产环境不会带上它。
在项目目录下创建一个tests文件夹,然后在里面写测试用例。比如,我们想测试一个简单的加法函数:
先写被测试的函数sum.js:
// sum.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
再写测试文件tests/sum.test.js:
// tests/sum.test.js
const sum = require('../sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
这个结构很清晰:一个函数,一个测试,一一对应。
在package.json里添加一条测试脚本,让Jest能够被npm test命令调用:
{
"scripts": {
"test": "jest"
}
}
万事俱备,只差一条命令:
npm test
如果一切正常,终端会输出类似这样的结果:
PASS ./tests/sum.test.js
✓ adds 1 + 2 to equal 3 (5 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.234 s
Ran all test suites.
看到“PASS”和绿色对勾,就说明测试通过了。
如果项目涉及前端交互,单元测试可能覆盖不全,这时候可以考虑端到端测试。Cypress是目前非常流行的选择,安装也很简单:
npm install --sa ve-dev cypress
然后在package.json里加上启动脚本:
{
"scripts": {
"test": "jest",
"cy:open": "cypress open"
}
}
运行npm run cy:open就能打开Cypress的图形化测试运行器,可视化的操作体验对调试非常友好。
测试写好了,总不能每次都手动跑吧?把测试集成到持续集成/持续部署(CI/CD)流程里,才是真正的自动化。以GitHub Actions为例,在项目根目录下创建.github/workflows/node.js.yml文件:
name: Node.js CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 16.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm test
这样,每次推送到main分支或者发起Pull Request,GitHub Actions都会自动拉取代码、安装依赖、运行测试。如果测试失败,PR甚至会被自动阻止合并,从源头保证代码质量。
整个流程走下来,其实就三个核心:环境搭建、测试编写、自动化触发。剩下的就是根据项目复杂度选择合适的框架和工具,把测试这件事真正融入日常开发节奏里。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8