使用 Jest 进行测试的简介
Jest是一个 JavaScript 测试框架,几乎不需要任何配置。这里有一篇快速文章,可帮助您快速上手。
设置 Jest
你在使用create-react-app吗?如果是,Jest 已经安装好了,所以你可以跳过这部分。谢谢,垂直整合!
这很简单。通过 Yarn(或 NPM)安装:
yarn add --dev jest
并在 package.json 中为其添加一个脚本:
"scripts": {
"test": "jest"
}
如果你想在测试中使用 Babel,只需安装babel-jest
:
yarn add --dev babel-jest
创建测试文件
Jest 会将以.test.js
或结尾的任何文件.spec.js
视为测试文件。因此,如果您有一个名为 的文件divide.js
,您可以在同一目录中将 放在divide.test.js
它旁边,Jest 会在运行时选择它。
__TESTS__
如果您想将测试分开,Jest 还会将文件夹中的文件视为测试文件。
编写测试
Jest 向测试文件中注入了许多全局变量,因此除了要测试的内容外,无需导入任何其他内容。因此,如果您有divide.js
类似以下内容的内容:
export default function divide(dividend, divisor) {
if (divisor === 0) {
throw new Error('Division by zero.');
}
return dividend / divisor;
}
你divide.test.js
看起来会像这样:
import divide from './divide';
// Describe the test and wrap it in a function.
it('divides down to the nearest integer.', () => {
const result = divide(5, 2);
// Jest uses matchers, like pretty much any other JavaScript testing framework.
// They're designed to be easy to get at a glance;
// here, you're expecting `result` to be 2.5.
expect(result).toBe(2.5);
});
从那里,只需运行你的脚本:
yarn run test
Jest 将运行您的测试。
覆盖范围
Jest 的一大优点是它可以轻松获得代码覆盖率。您只需传入标志coverage
,Jest 会处理其余部分。因此,对于上一节中的示例,只需将命令更改为:
yarn run test -- --coverage
它将为您提供以下保障:
????这只是一个介绍;Jest 还有更多的内容。