跳到主要内容
版本:25.x

入门

使用安装Jest纱线:

纱线 添加 --德夫开玩笑

或者npm公司:

npm公司 安装 --别开玩笑了

注:Jest文档使用纱线命令,但是npm公司也可以。你可以比较一下纱线npm公司中的命令好的,给你yabo2013.

让我们开始为一个假设函数编写一个测试,该函数将两个数字相加。首先,创建一个sum.js文件文件:

功能 总和 ( A. , B ) {
返回 A. + B ;
}
模块 . 出口 = 总和 ;

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

常数 总和 = 要求 ( '/总和' ) ;
测试 ( '将1+2相加等于3' , ( ) => {
期待 ( 总和 ( 1. , 2. ) ) . 托比 ( 3. ) ;
} ) ;

将以下部分添加到包.json:

{
“脚本” : {
“测试” : “开玩笑”
}
}

最后,快跑纱线测试npm运行测试Jest将打印此消息:

通过./sum.test.js
✓ 添加 1. + 2. 等于 3. ( 5毫秒 )

你刚刚用笑话成功地编写了你的第一个测试!

此测试使用期待托比测试两个值是否完全相同。要了解Jest可以测试的其他内容,请参阅使用匹配器.

从命令行运行#

您可以直接从CLI运行Jest(如果在您的应用程序中它是全局可用的)路径,例如纱线全球添加笑话npm install jest—全局)有很多有用的选择。

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

开玩笑我的测试--通知--配置 = 配置.json

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

附加配置#

生成基本配置文件#

根据您的项目,Jest将向您提出几个问题,并将创建一个基本配置文件,其中包含每个选项的简短说明:

开玩笑--初始化

使用巴别塔#

使用巴别塔,通过安装所需的依赖项纱线:

纱线 添加 --开发巴贝尔笑话@babel/core@babel/preset env

通过创建一个babel.config.js文件项目根目录中的文件:

//babel.config.js文件
模块 . 出口 = {
预设 : [ [ '@babel/预设环境' , { 目标 : { 节点 : '当前' } } ] ] ,
} ;

巴贝尔的理想配置将取决于您的项目。看到了吗巴贝尔医生yabo2013更多细节。

让你的巴别塔意识到

开玩笑就会成功进程.env.NODE\u env'测试'如果它没有被设置成别的。您可以在配置中使用它来有条件地只设置Jest所需的编译,例如。

//babel.config.js文件
模块 . 出口 = 应用程序编程接口 => {
常数 伊斯特 = 应用程序编程接口 . 环境 ( '测试' ) ;
//您可以使用isTest来确定要使用的预设和插件。
返回 {
// ...
} ;
} ;

注:巴别尔笑话在安装Jest时自动安装,如果项目中存在babel配置,则会自动转换文件。要避免这种行为,可以显式重置转型配置选项:

//jest.config.js文件
模块 . 出口 = {
转型 : { } ,
} ;
Babel 6支持

jest24放弃了对babel6的支持。我们强烈建议您升级到babel7,这是积极维护的。但是,如果你不能升级到巴别塔7,要么继续使用jest23,要么升级到jest24巴别尔笑话锁定在版本23,如下例所示:

“依赖关系”:{
“巴别塔核心”:“^6.26.3”,
“巴别塔笑话”:“^23.6.0”,
“巴别塔预设环境”:“^1.7.0”,
“玩笑”:“^24.0.0”
}

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

使用网页包#

Jest可以用于使用网页包管理资源、样式和编译。与其他工具相比,webpack确实提供了一些独特的挑战。参考网页包指南开始吧。

使用包裹#

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

使用TypeScript#

Jest通过Babel支持TypeScript。首先,确保您遵循了使用巴别塔上面。接下来,安装@巴别塔语/预设打字脚本通过纱线:

纱线 添加 --dev@babel/预设类型脚本

然后添加@巴别塔语/预设打字脚本到您的系统中的预设列表babel.config.js文件.

//babel.config.js文件
module.exports={
预设:[
['@babel/preset env',{目标:{节点:'当前'}}],
+ “@babel/preset typescript”,
],
};

然而,有一些注意事项使用打字和巴别塔。因为Babel中的TypeScript支持纯粹是透明的,Jest不会在测试运行时进行类型检查。如果你想要的话,你可以用开玩笑或者直接运行TypeScript编译器tsc公司单独(或作为构建过程的一部分)。

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

为了@类型/*模块建议尝试匹配关联模块的版本。例如,如果您使用26.4.0属于开玩笑然后使用26.4.x条属于@类型/笑话很理想。总的来说,要尽量配合专业(26)未成年人(4.)版本尽可能接近。

纱线 添加 --dev@types/笑话
上次更新时间通过塞巴斯蒂安·洛伯