JavaScript:
编写测试

如何操作:

原生方法(使用Jest)

Jest是一个流行的测试框架,为编写JavaScript单元测试提供了友好的API。它需要最小的配置,并带有诸如mock函数、计时器和快照测试等功能。

  1. 安装
npm install --save-dev jest
  1. 编写一个简单的测试

创建一个名为sum.test.js的文件:

const sum = require('./sum'); // 假设这个函数简单地加两个数字

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});
  1. 运行你的测试
npx jest

示例输出:

PASS  ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)

测试异步代码

Jest使得测试承诺和async/await语法变得简单:

// asyncSum.js
async function asyncSum(a, b) {
  return Promise.resolve(a + b);
}

// asyncSum.test.js
test('async addition works', async () => {
  await expect(asyncSum(1, 2)).resolves.toBe(3);
});

使用第三方库(Mocha与Chai)

Mocha是另一个流行的测试框架,常与断言库Chai结合使用,以便进行更具表达性的测试。

  1. 安装
npm install --save-dev mocha chai
  1. 使用Mocha和Chai编写测试

创建calculate.test.js

const chai = require('chai');
const expect = chai.expect;

const calculate = require('./calculate'); // 一个简单的计算模块

describe('Calculate', function() {
  it('should sum two values', function() {
    expect(calculate.sum(5, 2)).to.equal(7);
  });
});
  1. 使用Mocha运行你的测试

在你的package.json中添加一个脚本:

"scripts": {
  "test": "mocha"
}

然后执行:

npm test

示例输出:

  Calculate
    ✓ should sum two values


  1 passing (8ms)

这些示例说明了在JavaScript中编写和执行基本测试的方法。采用像Jest或Mocha与Chai这样的测试框架可以为健壮的应用程序测试提供坚实的基础,帮助确保你的代码在更新和重构过程中按预期运行。