发布于2026-07-05 阅读(0)
扫一扫,手机访问
在Linux环境下,用Ja vaScript做单元测试其实有很多成熟的选择。开发环境不同、项目规模不同,适用的工具链也不一样。下面整理了四种主流方法,从最热门的Jest到轻量级组合,覆盖大多数场景。

Jest是目前最流行的Ja vaScript测试框架之一,开箱即用,内置断言、模拟、覆盖率报告,Node.js和浏览器环境都能跑。
安装就一行命令:
npm install --sa ve-dev jest
在项目根目录下创建 jest.config.js,做基本配置:
module.exports = {
testEnvironment: 'node',
};
举个例子,写一个求和函数的测试,文件叫 sum.test.js:
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
终端里直接执行:
npx jest
Mocha是另一个老牌测试框架,灵活度更高,通常搭配Chai做断言、Sinon做模拟工具。
npm install --sa ve-dev mocha
同样的求和函数测试,用Mocha + Node内置assert库写出来是这样:
const assert = require('assert');
const sum = require('./sum');
describe('sum', () => {
it('should return the sum of two numbers', () => {
assert.strictEqual(sum(1, 2), 3);
});
});
npx mocha
如果你的项目需要在真实浏览器中跑测试,Karma是一个很好的选择。它本身是一个测试运行器,通常搭配Jasmine或Mocha使用。
npm install --sa ve-dev karma karma-chrome-launcher karma-jasmine jasmine-core
创建 karma.conf.js,进行基础设定:
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
files: [
'node_modules/jasmine/lib/jasmine.css',
'node_modules/jasmine/lib/jasmine.js',
'node_modules/jasmine-core/lib/jasmine-core/jasmine.js',
'src/**/*.js',
'test/**/*.spec.js'
],
browsers: ['Chrome'],
singleRun: true,
reporters: ['progress']
});
};
测试文件 sum.spec.js:
const sum = require('../src/sum');
describe('sum', () => {
it('should return the sum of two numbers', () => {
expect(sum(1, 2)).toBe(3);
});
});
npx karma start
ESLint本质上是个代码风格检查工具,但也可以用来跑简单的单元测试——利用它的规则机制和 console.assert 快速验证。更适合小项目或临时检查。
npm install --sa ve-dev eslint
创建 .eslintrc.js,配置Node环境和ES6支持:
module.exports = {
env: {
node: true,
es6: true
},
extends: 'eslint:recommended',
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module'
},
rules: {
'no-console': 'off'
}
};
测试文件里用 console.assert 代替断言:
const sum = require('./sum');
console.assert(sum(1, 2) === 3, '1 + 2 should equal 3');
通过ESLint检查测试文件:
npx eslint 'test/**/*.spec.js'
这四种方法覆盖了从轻量到全面、从Node到浏览器环境的场景,根据项目实际需求选择就好。Jest适合大多数现代项目,Mocha+Chai组合灵活,Karma适合浏览器测试,ESLint是剑走偏锋的小技巧。没有绝对最优,只有最适合。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8