跳过主要内容
版本:26.倍

开始

Jest安装使用

添加 - - - dev开玩笑

npm

npm 安装 --拯救开发人员

注意:Jest文档使用命令,但npm也会工作。你可以比较npm命令的纱文档,这yabo2013里

让我们从编写一个假设函数的测试开始,该函数可以使两个数相加。首先,创建一个sum.js文件:

函数 总和 一个 b
返回 一个 + b
模块 出口 总和

然后,创建一个名为sum.test.js.这将包含我们实际的测试:

常量 总和 需要 ”。/总和
测试 加1 + 2等于3 =>
预计 总和 1 2 托比 3.

将下列部分添加到您的package.json

“脚本”
“测试” “开玩笑”

最后,跑纱线测试npm运行测试Jest将打印以下信息:

通过。/ sum.test.js
✓补充道 1 + 2 等于 3. 5女士

您刚刚成功地使用Jest编写了第一个测试!

这个测试使用预计托比来测试两个值是否完全相同。要了解Jest可以测试的其他东西,请看使用匹配器

从命令行运行

您可以直接从CLI运行Jest(如果它在您的路径,例如,纱线全球加笑话NPM安装jest—global)有各种有用的选项。

下面是如何在匹配的文件上运行Jest我的测试,使用json作为配置文件,并在运行后显示本机操作系统通知:

Jest my-test——notify——config json

如果你想了解更多关于跑步的知识开玩笑通过命令行,查看Jest CLI选项页面。

额外的配置

生成基本配置文件

基于你的项目,Jest会问你一些问题,并为每个选项创建一个简短的描述的基本配置文件:

笑话——初始化

使用巴别塔

使用巴别塔,安装所需的依赖项

添加 ——dev babel-jest @babel/core @babel/preset-env

将Babel配置为当前版本的Node,方法是创建babel.config.js文件在你的项目的根目录:

/ / babel.config.js
模块 出口
预设 “@babel/preset env” 目标 节点 “当前”

Babel的理想配置取决于您的项目。看到巴别塔的文档yabo2013为更多的细节。

让你的巴别塔配置知道笑话

Jest将process.env.NODE_ENV“测试”如果它没有设置为其他内容。您可以在配置中使用它来有条件地只设置Jest所需的编译,例如。

/ / babel.config.js
模块 出口 api =>
常量 坚持 api env “测试”
//您可以使用isTest来确定要使用的预设和插件。
返回
/ /……

注意:babel-jest在安装Jest时自动安装,如果项目中存在babel配置,将自动转换文件。要避免这种行为,可以显式地重置使改变配置选项:

/ / jest.config.js
模块 出口
使改变
巴别塔6支持

Jest 24放弃对巴别塔6的支持。我们强烈建议您升级到巴别塔7,它是积极维护。但是,如果你不能升级到巴别塔7,要么继续使用Jest 23,要么升级到Jest 24babel-jest锁定在版本23,如下例所示:

“依赖”:{
:“babel-core ^ 6.26.3”,
:“babel-jest ^ 23.6.0”,
:“babel-preset-env ^ 1.7.0”,
“笑话”:“^ 24.0.0”

虽然我们通常建议使用每个Jest包的相同版本,但这个解决方案将允许您继续使用最新版本的Jest与Babel 6。

使用网页包

Jest可以用于使用webpack管理资产、样式和编译。相对于其他工具,Webpack确实提供了一些独特的挑战。指的是webpack指南开始。

使用包裹

Jest可以用于使用parcel-bundler管理资产、样式和编译,类似于webpack。包裹需要零配置。参考官方yabo2013开始。

使用打印稿

Jest通过Babel支持打字脚本。首先,确保您遵守了上的说明使用巴别塔在上面接下来,安装@巴别塔/预设打字脚本通过

添加 - - - dev @babel / preset-typescript

然后加上@巴别塔/预设打字脚本到你的预设列表babel.config.js

/ / babel.config.js
模块。出口= {
预设:[
[@babel / preset-env,{目标:{节点:“当前”}}),
+ “@babel / preset-typescript”,
],
};

然而,还是有一些警告在Babel中使用TypeScript。因为Babel中的TypeScript支持纯粹是转译,所以Jest不会在运行测试时进行类型检查。如果你想要,你可以用ts-jest或者直接运行TypeScript编译器tsc单独(或作为构建过程的一部分)。

您可能还想安装@类型/笑话模块用于您正在使用的Jest版本。这将有助于在使用Ty亚搏取款peScript编写测试时提供完整的类型。

@types / *模块,建议尝试匹配相关模块的版本。例如,如果你正在使用26.4.0属于开玩笑然后使用26.4.x属于@类型/笑话是理想的。一般来说,尽量匹配专业(26)及副修(4)版本尽可能接近。

添加 - - - dev @types /笑话
最后一次更新在通过塞巴斯蒂安·洛伯