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

configuraçãoedesmontagem.

Muitas Vezes Ao Escrever测试博览会Tem alg Trabalho deConfiguraçãoque precisa acontecer ancontecer executar testes,ecocêtem algul trabalho de acabamento que precisa acontecerapósosos testarem。Jest ForneceFumçõesdeauxiliopara lidar com isso。

Repetindo aconfiguraçãoparavários睾丸

Sevocêtem algum trabalho quevocêprecisa fazer重复名称por muitos testes,vocêpode usar摘要E.after

por presseo,Digamos quevários睾丸Interagem com banco de dados didades。vocêtemmétodoinitializeCityDatabase()que deve ser chamado antes de cada um estes验证eummétodoclearcitydatabase()que deve ser chamado depois de cada um estes睾丸。vocêpode fazer isso com:

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

摘要E.afterPodem Lidar comcódigoassíncronoda mesma forma queTestes Podem Lidar ComCódigoassíncrono- Podem Tanto Levar UMParâ上容完毕Ou Retornar Uma Promessa。por presseo,seinitializeCityDatabase()Tiver Reyornado Uma ProMessa Que解决Quando o Banco de Dados Foi无处不西亚,GostaríamosdeReyornarEssa Promessa:

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

configuraçãoúnica.

Em Alguns Casos,VocêSóPrecisaCongionUrarUma Vez,NoIníciodumArquivo。当设置是异步时,这可以特别麻烦,因此您不能在线完成。jest fornece.Beforeall.E.毕竟Para lidar com essasituação。

por presseo,se bambosinitializeCityDatabase.E.clearcitydatabase.Retornaram ProMessas,E o Banco de Dados de Cidades Poderia Ser ReutilizoO Entre OS Testes,NósPodemosAlterar NossoCódigode Teste Para:

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

Escopo.

PORPadrão,OS BlocosE.SE APLICAM A TODOS OS测试EM Arquivo。VocêTambémPode Agupar Testes Junto Usando Um Bloco de描述。Quando ElesEstãodentrode Um Bloco de描述,os blocos.E.Sósaplicam aos testes dentro desse bloco de描述

por presseo,Digamos quenósnãotemos apenasum banco de dados de cidades,Mastambémubancodados de Alimentos。nóspodemos fazer umaconfiguraçãodiferente para diferentes睾丸:

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

ordem deexecuçãodos blocos描述e测试

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

Considere o seguinte arquivo de teste ilustrativo e asaída:

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

Concelho Geral.

SE UM TesteEstáFalhando,Uma Das Primeiras Coisas A Verificar Deveria Ser SE O TesteEstáFalhandoQuandoéOnicoStekeQueéecoputado。只使用Jest运行一个测试,暂时改变测试命令到A.test.only.

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

sevocêriver uma teste que muitasvezes falha QuandoEleéocioutado como parte de Um Conjunto Maior,MasNãoFalhaQuandoCocêEcogutá-LoSozinho,ÉumaBoaavostaque algo deum teste diferenteestánerferinocom ele。Muitas Vezes,VocêPodeConterlar Isso,Limpando Algum Estado Compartilhado Com摘要。如果您不确定是否正在修改某些共享状态,您也可以尝试一个摘要那个日志数据。