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

ВикористанняМатчерів

JestВисокристовуютакзваніматчеридлятого,щобТестуватизначннярізнимиспособами。之间,ДокументОписуюдеякінайбільюпопулярніматчери。ПовнийСписокдоступнийв<一种href="/uk/docs/expect">Документаціш预计API.

Загальніматчери.<一种class="hash-link" href="#загальні-матчери" title="#">#

НайпростішийспосібПеревіритизначення - Перевірканаточнурівність。

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

вцьомукоді,期待(2 + 2)Повертаєоб'єкт“Очікування”。якправило,ВамнепотрібноРобитинічогозцимиоб'єктами,Окрімвикликуматчерадляних。вцьомукоді,.Tobe(4)“Матчер。КолиJestЗапушено,ВінВідслідковуюВсіматчери,ПеревіркаякихПовернулапомилку,щодашзмогувиводитидлявасзрозуміліПовідомлення。

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

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

toequal.РекурсивноПеревіряєКожнеполеоб'єктаАбозначенняМасиву。

ВитакожможетеперевіритипротилежнезначенняМатчера:

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

Правдивість.<一种class="hash-link" href="#правдивість" title="#">#

在测试中,您有时需要区分不明确的空值, 和错误的,但你有时不想以不同的方式对待这些。JestВключашвСебехелпери,якідозволяштьвамзробитисамете,щовампотрібно。

  • Tobenull.ПідходитьТількидля.空值
  • 截然ПідходитьТількидля.不明确的
  • 被定义为Протилежнийдо.截然
  • Tobeththy.Підходитьдлябудь-якогозначення,кеконструкція如果ТрактуюєК真实
  • 吐痰Підходитьдлябудь-якогозначення,кеконструкція如果трактуюєкfalse.

Наприклад:

测试 '空值' => {
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 ;
预计 价值 成为 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="/uk/docs/expect">довідковоїдокументаціш

хорошимнаступнимКрокомМожебутиВивченняТого,кJestДозволяю<一种href="/uk/docs/asynchronous">ТестуватиАсинхроннийКод.