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

使用仪器

jest ic用“匹配器”让你可以用来各种你的代码。这这文档将向向向这档将向向你介绍一般性地用的橡皮器,这篇文档将将你介绍篇档档向你介绍一定用途的的器具,在<一种href="/zh-Hans/docs/expect">预计API的文件里可以是看到完整的。

普通器具<一种class="hash-link" href="#普通匹配器" title="#">#

最简单的测试值的方法是看否精灵匹配。

测试 '二加二是四个' => {
预计 2 + 2 成为 4. ;
} ;

在此代码中,期待(2 + 2)返回一个“期刊”的对象。你国通行不合会对这些望对象对象对象调。在此代码中,.Tobe(4)是匹匹器。当jest运行时,它会跟踪别无失败的匹配,以便它可以为你打印很好的的错误消息。

成为用途对象测试确切的平等。如果要检查对象的值,请使用toequal.相反:如果您想要检查对象的值,请请用toequal.代替:

测试 '对象分配' => {
const 数据 = { 1 } ;
数据 [ '二' ] = 2 ;
预计 数据 toequal. { 1 2 } ;
} ;

toequal.递归检查对象或数号的每个字段。

您还可以测试的匹配︰

测试 '添加正数不是零' => {
为了 一种 = 1 ; 一种 < 10. ; 一种 ++ {
为了 B. = 1 ; B. < 10. ; B. ++ {
预计 一种 + B. 不是 成为 0. ;
}
}
} ;

真实性<一种class="hash-link" href="#truthiness" title="#">#

在测试中,您有时需要区分不明确的空值, 和错误的,但你有时不想以不同的方式对待这些。jest让你明显你们想要。笑话你明显你想要什么。

  • Tobenull.只匹配空值
  • 截然只匹配不明确的
  • 被定义为截然相反
  • Tobeththy.匹配任何如果语句为真
  • 吐痰匹配任何如果语句为假

例如:

测试 '空值' => {
const N = 空值 ;
预计 N Tobenull. ;
预计 N 被定义为 ;
预计 N 不是 截然 ;
预计 N 不是 Tobeththy. ;
预计 N 吐痰 ;
} ;
测试 '零' => {
const Z. = 0. ;
预计 Z. 不是 Tobenull. ;
预计 Z. 被定义为 ;
预计 Z. 不是 截然 ;
预计 Z. 不是 Tobeththy. ;
预计 Z. 吐痰 ;
} ;

您应该使用仪器〖精细〗地对应您的你想要想要代码想要想要

数码<一种class="hash-link" href="#数字" title="#">#

大多数的比较数码有机器。

测试 '二加二' => {
const 价值 = 2 + 2 ;
预计 价值 tobegreathan 3. ;
预计 价值 tobegreathanorequal. 3.5 ;
预计 价值 烟幕 5. ;
预计 价值 tobelestthanorequal. 4.5 ;
// tobe和toequal是数字的等同
预计 价值 成为 4. ;
预计 价值 toequal. 4. ;
} ;

对于比较浮点数码等,使用Tobecloseto.而不是toequal.,因为你不觉得一叶小小的舍入误差。

测试 '两个浮点数码加加' => {
const 价值 = 0.1 + 0.2 ;
//expect(value).tobe(0.3);这这会报警,因为浮点有数学
预计 价值 Tobecloseto. 0.3 ; //这句可运行
} ;
} ;

字符串<一种class="hash-link" href="#字符串" title="#">#

您可以检查对可具匹配正则表达式的字符串︰

测试 “没有我的团队” => {
预计 '团队' 不是 匹配 / 一世 / ;
} ;
测试 “但Christoph的”停止“ => {
预计 'Christoph' 匹配 / 停止 / ;
} ;

数组和迭代<一种class="hash-link" href="#arrays-and-iterables" title="#">#

你可以是通讯包含装有来到一牌数码或可迭代对象对象包含某个特价项:

const 购物清单 = [
“尿布”
'Kleenex'
'垃圾袋'
'纸巾'
'牛奶'
] ;
测试 '购物清单上有牛奶' => {
预计 购物清单 包含装有 '牛奶' ;
预计 新的 购物清单 包含装有 '牛奶' ;
} ;

户外<一种class="hash-link" href="#例外" title="#">#

如果您想测试特定函数是否在调用时抛出错误,请使用tothrow.

功能 compileandroidcode. {
新的 错误 “你正在使用错误的jdk' ;
}
测试 '编译Android按预期进入' => {
预计 => compileandroidcode. tothrow. ;
预计 => compileandroidcode. tothrow. 错误 ;
//您也可以使用确切的错误消息或Regexp
预计 => compileandroidcode. tothrow. “你正在使用错误的jdk' ;
预计 => compileandroidcode. tothrow. / jdk. / ;
} ;

注意:需要在包装功能中调用异常的函数否则否则tothrow.断言将失败。

以及更多<一种class="hash-link" href="#以及更多" title="#">#

这些只是浅尝辄止。匹配器的完整列表,请查阅<一种href="/zh-Hans/docs/expect">参考文档

一件你学会了如何使使用品后,接下来可以学习笑声jest是你可以<一种href="/zh-Hans/docs/asynchronous">测试异步代码的。