跳转到主要内容
版本:26.倍

入门

使用安装Jest︰

添加 - - - dev开玩笑

npm

npm 安装 ——save-dev开玩笑

注:开玩笑的文档统一使用命令,不过使用npm也是可行的。你可以在纱的说明文档里看到npm之间的对比。

让我们从写一个两个数相加的示例函数开始。首先,创建一个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关于测试方面更多的能力,请参阅使用匹配器

在命令行运行#

你可以通过命令行直接运行开玩笑(前提是笑话已经处于你的环境变量路径中,例如通过纱线全局添加笑话npm安装jest——global安装的笑话),并为其指定各种有用的配置项。

这里演示了如何对能匹配到我的测试的文件运行开玩笑,使用json作为一个配置文件、并在运行完成后显示一个原生的操作系统通知。

jest my-test——notify——config = json

如果你愿意了解更多关于通过命令行运行开玩笑的内容,请继续阅读Jest CLI选项页面。

更多配置#

生成一个基础配置文件#

基于您的项目,Jest将向您提出几个问题,并将创建一个基本的配置文件,每个选项都有一个简短的说明:

笑话——初始化

使用巴别塔#

如果需要使用巴别塔,可以通过来安装所需的依赖。

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

可以在工程的根目录下创建一个babel.config.js文件用于配置与你当前节点版本兼容的巴别塔:

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

巴别塔的配置取决于具体的项目使用场景,可以查阅巴别塔官方文档来获取更多详细的信息。

**使您的Babel配置笑话感知**

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

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

注意:当你安装开玩笑时,babel-jest是会被自动安装的,并且如果你的项目下存在一个巴别塔配置文件时,它将会自动对相关文件进行转义。如果要避免这个行为,你可以显式的重置变换配置项:

/ / jest.config.js
模块 出口 = {
变换 : { } ,
} ;
* * * *巴别塔6支持

对Babel 6的支持下降。我们强烈建议您升级到Babel 7,它正在积极维护。对Babel 6的支持下降。我们强烈建议您升级到Babel 7,它正在积极维护。但是,如果您不能升级到Babel 7,那么要么继续使用Jest 23,要么升级到Jest 24 withbabel-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。

使用webpack#

Jest可以用于使用webpack来管理资源、 样式和编译的项目中。webpack与其他工具相比多了一些独特的挑战。参考webpack指南来开始起步。

使用包裹#

Jest可以用于使用parcel-bundler管理资产、样式和编译,类似于webpack。包裹不需要配置。向官员求助yabo2013开始。包裹不需要配置。向官员求助yabo2013开始。

使用打印稿#

Jest通过Babel支持TypeScript。首先,确保你按照说明做了使用巴别塔以上。接下来,安装@babel / preset-typescript通过:

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

然后添加@babel / preset-typescript到您的babel.config.js

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

Jest通过Babel支持TypeScript。首先,确保你按照说明做了使用巴别塔以上。接下来,安装@babel / preset-typescript通过:因为Babel中的TypeScript支持是纯粹的翻译,Jest不会在运行测试时检查类型。您可能还想安装@types /开玩笑您正在使用的Jest版本的模块。这将有助于在使用Ty亚搏取款peScript编写测试时提供完整的类型。

不过,在配合使用打印稿与巴别塔时,仍然有一些注意事项。因为Babel中的TypeScript支持是纯粹的翻译,所以Jest不会在运行测试时检查类型。如果你想要,你可以用ts-jest或者直接运行TypeScript编译器tsc单独(或作为构建过程的一部分)。

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

添加 - - - dev @types /笑话