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

passando pelomódulode mock

o Jest PermitevocêMockarTodos OSMódulosSEMSEM SEM SERTERS,O QUE PODESER par TESTAR SE SEUCódigoESTÁCHANANDOFUANESESSEZQUELEMóduloCrontratamee。Entretanto,vezesvocêdeseja usar部分domódulomockado em seusArquivo de Teste.,Nesse Caso博士Precisa Acessar ASupplingação原创,AoInvésdeumaVersãoMockada。

Considere Escrever Um Caso de Testes Para AFuSção创建用户

// createUser.js.
进口 拿来 'node-fetch' ;
出口 const 创建用户 = 异步 => {
const 回复 = 等待 拿来 'http://website.com/users' { 方法 '邮政' } ;
const 用户身份 = 等待 回复 文本 ;
返回 用户身份 ;
} ;

Seu Teste Provavelm,EnteIrá“Mockar”(模拟)AFuSção拿来Para que prossamos ter certeza que estaserácamadasem实际fazer um请求ao端点。Contudo,vocêtambémprecisará“Mockar”o Valor de Retorno daFunção拿来COM UMA.回复(Encapsulada Em Uma诺言)。EntãoCodêPodeInilementeyourareScrever UM Teste Como Este:

//蚂蚁
笑话 嘲笑 'node-fetch' ;
进口 拿来 { 回复 } 'node-fetch' ;

sevocêrodar este testevocêveráqueafunção创建用户Falhará,DivenarandoAtransão:typeerror:response.text不是函数。是距离o.回复quevocêoptoroude节点获取Foi“Mockado”(Através做脚本jest.mock.Chamado NoGeryçoarquivo)EntãonãoSeComporta Mais Como Deveria。

Para Contrornar问题Como Este,Jest Fornece O帮助亚搏取款Jest.RequireAction.。Para Fazer O Teste Acima Fuccionar,FaçaSeasguintesSertaçõesAOS进口没有Arquivo de Testes:

// depois.
笑话 嘲笑 'node-fetch' ;
进口 拿来 'node-fetch' ;
const { 回复 } = 笑话 请求 'node-fetch' ;
// depois.
笑话 嘲笑 'node-fetch' ;
进口 拿来 'node-fetch' ;
const { 回复 } = 笑话 请求 'node-fetch' ;

iSto渗透que seu arquivo de testes importe o objeto回复节点获取,Em Vez deVersão“Mockada”。iSto quer dizer que o teste agorapassará符合。