Jest

官网
前端单元测试—孤勇者级教程

起步

安装 babel 以及 typescript 的 babel, ts-jest 对测试用例进行类型检查,@types/jest 添加 jest 类型提示

1
2
3
4
npm install --save-dev babel-jest @babel/core @babel/preset-env
npm install --save-dev @babel/preset-typescript
npm install --save-dev ts-jest
npm install --save-dev @types/jest

配置 babel.config.js

1
2
3
4
5
6
module.exports = {
presets: [
['@babel/preset-env', {targets: {node: 'current'}}],
'@babel/preset-typescript',
],
};

简单例子

举个例子,我们先写一个两数相加的函数。 首先,创建 sum.js 文件︰

1
2
3
4
function sum(a, b) {
return a + b;
}
module.exports = sum;

然后,创建名为 sum.test.js 的文件。 此文件中将包含我们的实际测试︰

1
2
3
4
5
const sum = require("./sum");

test("adds 1 + 2 to equal 3", () => {
expect(sum(1, 2)).toBe(3);
});

随后,将下列配置内容添加到您的 package.json

1
2
3
4
5
{
"scripts": {
"test": "jest"
}
}

最后,运行 yarn test npm run test ,Jest 将打印下面这个消息:

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

命令行中执行

你可以通过命令行直接运行 Jest(前提是 jest 已经处于你的环境变量 PATH 中,例如通过 <font style="color:rgb(28, 30, 33);">yarn global add jest 或 npm install jest --global</font>安装的 Jest) ,并为其指定各种有用的配置项。

这里演示了如何对能匹配到 my-test 的文件运行 Jest、使用 config.json 作为一个配置文件、并在运行完成后显示一个原生的操作系统通知。

1
jest my-test --notify --config=config.json

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!