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

Asamblareşidezasamblare.

Adesea,întimp cescrieţitesteaveţinevoie deconfigurări,care trebuie s he strumeînaintedeise,şi多样化Curăţări,Care Trebuie S He Se RublzeDupăecuţiatestelor。jestăfuncţii经济实验室pentru acesesituaţii。

RepetareaConfigurăriimai multor teste

Dacīaveţicevarulaţicevacodînmod repetat pentru mai multe teste,puteţiultiza摘要şi.after

DE审查,SăPUSPUNEMCăMaiMulteTesteInteracţioneazăubabăde date aoraşelor。avem ometodăinitializeCityDatabase()Care TrebuieSìFieApelat'înaintede Fiecare Dintre Aceste Teste,Si OMetodëclearcitydatabase()Care Trebuie S Hie FieApelatýdupăfiecare dintre aceste teste。aceAsta se poate semiza cu:

摘要 => {
initializeCityDatabase. ;
} ;
after => {
clearcitydatabase. ;
} ;
测试 '城市数据库有维也纳' => {
预计 iscity. '维也纳' Tobeththy. ;
} ;
测试 '城市数据库有圣胡安' => {
预计 iscity. '圣胡安' Tobeththy. ;
} ;

摘要şi.after壶rula codasincronînacelaşimod暨Testele pot rula cod asincron- Fie PrimeSC联合国Parametru完毕SauReturcheazăo promisiune。De审查,ÎnCazulîncareinitializeCityDatabase()Returneazăo promisiune care esterezolvatīatuncicândbaza deated s-ainižializat,art​​bui shightămacea proMisiune:

摘要 => {
返回 initializeCityDatabase. ;
} ;

Configurare Unicon.

ÎnforeleCazuri,TrebuieSăConfigurămosingurădată,laînceputulunuifişier。当设置是异步时,这可以特别麻烦,因此您不能在线完成。笑话Beforeall.şi.毕竟pentru acestesituaţii。

de presseu,dacăinitializeCityDatabase.şi.clearcitydatabase.ReplateAzăPromisiuni,şiBazadeat Date CuOraşeArpifeafeRefoltositȱÎntreStee,AM Putea Schimba Codul Nostru de TestareînFelulUrmător:

Beforeall. => {
返回 initializeCityDatabase. ;
} ;
毕竟 => {
返回 clearcitydatabase. ;
} ;
测试 '城市数据库有维也纳' => {
预计 iscity. '维也纳' Tobeththy. ;
} ;
测试 '城市数据库有圣胡安' => {
预计 iscity. '圣胡安' Tobeththy. ;
} ;

delimitare.

înmod隐含,blocurileşi.seaplictălafiecare测试dinfişier。îăputeţigrupatesteleîmpreunăfolosind联合国集团描述。AtunciCândaceseasuntînineryulunui bloc描述,blocurile.şi.seaplictănumai la testele din initorul acelui bloc描述

例如,假设我们不仅仅是一个城市数据库,还没有食物数据库。我们可以为不同的测试做不同的设置:

//适用于此文件中的所有测试
摘要 => {
返回 initializeCityDatabase. ;
} ;
测试 '城市数据库有维也纳' => {
预计 iscity. '维也纳' Tobeththy. ;
} ;
测试 '城市数据库有圣胡安' => {
预计 iscity. '圣胡安' Tobeththy. ;
} ;
描述 '与城市相匹配食物' => {
//仅适用于此描述块的测试
摘要 => {
返回 initializefooddatabase. ;
} ;
测试 '维也纳<3香肠' => {
预计 IsValidCityFoodPair. '维也纳' 'Wiener Schnitzel' 成为 真的 ;
} ;
测试 '圣胡安<3种植' => {
预计 IsValidCityFoodPair. '圣胡安' 'mofongo' 成为 真的 ;
} ;
} ;

请注意,顶级摘要在之前执行摘要在 - 的里面描述堵塞。它可能有助于说亚搏取款明所有钩子的执行顺序。

Beforeall. => 安慰 日志 '1 - beforeall' ;
毕竟 => 安慰 日志 '1 - 追随' ;
摘要 => 安慰 日志 '1 - presseach' ;
after => 安慰 日志 '1 - 追随' ;
测试 '' => 安慰 日志 '1 - 测试' ;
描述 '范围/嵌套块' => {
Beforeall. => 安慰 日志 '2 - beforeall' ;
毕竟 => 安慰 日志 '2 - 追随' ;
摘要 => 安慰 日志 '2 - 摘要' ;
after => 安慰 日志 '2 - 追随' ;
测试 '' => 安慰 日志 '2 - 测试' ;
} ;
// 1 - beforeall
// 1 - 婚姻
// 1 - 测试
// 1 - 赛后
// 2 - beforeall
// 1 - 婚姻
// 2 - 前后
// 2 - 测试
// 2 - 赛后
// 1 - 赛后
// 2 - 追随
// 1 - 追随

执行订单和描述和测试块

Jest在测试文件中执行所有描述处理程序它执行任何实际测试。这是在里面设置和拆除的另一个原因前*后*处理程序而不是在描述块内。一旦描述块完整,默认情况下,Jest在收集阶段中遇到的顺序串行运行所有测试,然后等待每个完成并在继续之前整个整理。

考虑以下说明性测试文件和输出:

描述 '外' => {
安慰 日志 '描述外 - a' ;
描述 '描述内部1' => {
安慰 日志 '描述内部1' ;
测试 '测试1' => {
安慰 日志 '测试内部1' ;
预计 真的 toequal. 真的 ;
} ;
} ;
安慰 日志 '描述外b' ;
测试 '测试1' => {
安慰 日志 '描述外部' ;
预计 真的 toequal. 真的 ;
} ;
描述 '描述内部2' => {
安慰 日志 '描述内部2' ;
测试 '测试内部2' => {
安慰 日志 '测试内部2' ;
预计 错误的 toequal. 错误的 ;
} ;
} ;
安慰 日志 '描述外部c' ;
} ;
//描述外A
//描述内部1
//描述外b
//描述内部2
//描述外c
//测试描述内部1
//测试描述外部
//测试描述内部2

sfaturi变色

înCazulîncare Un Testeşuează,Unul Dintre Primele Lucruri Pe Care Ar TrebuiSăLeVerificaţiEsteDacăDacăTestul Cade Si AtunciCândRuleazădoarel。只使用Jest运行一个测试,暂时改变测试命令到A.test.only.

测试 只要 “这将是唯一运行的测试 => {
预计 真的 成为 错误的 ;
} ;
测试 '这个测试不会运行' => {
预计 '一种' 成为 '一种' ;
} ;

DacīAveţi联合国测试护理CADE Adesea AtunciCând面部Parte Dintr-O Suiter Mai Mare de Teste,Dar Nu Cade AtungiCândRuleazýSindur,CuSiguranýCeva·de la联合国测试先例的干扰interă。puteţirezolva adesea母养lucrucurřareastăriicomune cu摘要。如果您不确定是否正在修改某些共享状态,您也可以尝试一个摘要那个日志数据。