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

Instalaciónydesmontaje.

一个Menudo Cuando escribes Las Pruebas Tienes Algo de Trabajo dePrintionAciónQue Necesita Pasar Antes de Riener Las Pruebas,Y Tienes Trabajo deFinalizaciónque debe debe debe de errer las pruebas。Jest Provee Funciones de Ayuda Para Manejar Eso。

Repitiendo“Presitación”Para Mighas Pruebas

Si Tienes Algo De Trabajo Que Necesitas Hacer Repetidamente Para Mighas Pruebas,Puedes Usar摘要yafter

Por Ejealto,Digamos Que Varias PruebasInteractúanCoLaBase de Datos de Ciudades。Tienes联合国Método.initializeCityDatabase()Que Debe Ser Llamada Antes de Cada Prueba,Y UnMétodoclearcitydatabase()Que Debe Ser Llamado Luego de Cada Prueba。Puedes Hacer Esto Con:

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

摘要yafterpueden manejarcódigoasíncronoen el mismo modo queLas Pruebas ManejanCódigoAsíncrono- Ambos Pueden Tomar完毕ComoParámetroo Devolver Una Promesa。Por Ejeallo,SIinitializeCityDatabase()Devuelve Una Promesa Que Es Resuelta Cuando La Base de Datos Es inicializada,NosGustaríaQue devuelva Esa Promesa:

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

准备好的una vez

En Algunos Casos,SoloNecesitarásrealizar laPrestiveaciónuna sola vez,al prinipio del Archivo。当设置是异步时,这可以特别麻烦,因此您不能在线完成。jest proporciona.Beforeall.y毕竟Para Manejar EstasitaInación。

Por Ejeallo,SIinitializeCityDatabase.yclearcitydatabase.devolvieron proesas, y la datos de de ciudades podría ser reutilizado entre pruebas, podríamos cambiar nuestro código de prueba para:

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

逃生

Por Defecto,Los BloquesyAPLICARÁNACADAPRUEBAen ACHIVO。TambiénPuedeAgrupar Pruebas Usando联合国Bloque de描述。CuandoEstándentrode Un Bloque描述,los bloques.ysólose apleican a las pruebas dentro de eseque描述

Por Ejeallo,Supongamos Que Hemos Tenido NoSóloUna Base de Datos de Ciudades,SinoTambiénUna Base de Datos de Alimentos。PodríamosHacerUnaConfiguraciónFiferentePara Diferentes Pruebas:

//适用于此文件中的所有测试
摘要 => {
返回 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 - 追随

orden deejecucióndedescripciónybloquesde pruebas

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

Considere El Siguiente Archivo de Prueba Ilustrativa Y Salida:

描述 '外' => {
控制台 日志 '描述外 - a' ;
描述 '描述内部1' => {
控制台 日志 '描述内部1' ;
测试 '测试1' => {
控制台 日志 '测试内部1' ;
预计 真的 toequal. 真的 ;
} ;
} ;
控制台 日志 '描述外b' ;
测试 '测试1' => {
控制台 日志 '描述外部' ;
预计 真的 toequal. 真的 ;
} ;
描述 '描述内部2' => {
控制台 日志 '描述内部2' ;
测试 “描述内心的测试2” => {
控制台 日志 “描述内心的测试2” ;
预计 错误的 toequal. 错误的 ;
} ;
} ;
控制台 日志 '描述外部c' ;
} ;
//描述外A
//描述内部1
//描述外b
//描述内部2
//描述外c
//测试描述内部1
//测试描述外部
//测试描述内部2

Aviso General.

Si Una Prueba Falla,Una de Las Primeras Cosas A RevisarDeberíaSerSiLa Prueba Falla Cuando Se Corre Solo Esa Prueba。只使用Jest运行一个测试,暂时改变测试命令到A.test.only.

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

如果你有一张宽的床,这是你的一部分ejecución一张大套房,这不是宽的床,这是另一张宽的床,这是另一张宽的床está这是另一张宽的床。我们有一个共同的愿望摘要。如果您不确定是否正在修改某些共享状态,您也可以尝试一个摘要那个日志数据。