Skip to content

Torvyn

Obter Atualização

  • Lar
  • criptomoeda
  • Lei Educacional
  • Esportes
  • Tecnologia
  • Realidade Virtual
  • Mais
    • Sobre nós
    • Contate-nos
    • Isenção de responsabilidade
    • política de Privacidade
    • Termos e Condições
  • Toggle search form
Catch ‘Undextexception’ Erro em seu teste de mocha

Catch ‘Undextexception’ Erro em seu teste de mocha

Posted on September 1, 2025 By Rehan No Comments on Catch ‘Undextexception’ Erro em seu teste de mocha

Esta não é a primeira vez que enfrentei essa situação. Hoje, finalmente encontrei tempo e energia para procurar uma solução. No seu teste de mocha, digamos que você precise testar um evento esperado “UNVAGHTEXCECPEIRO”, a técnica Node.js para capturar o inadequado. Fácil, basta registrar um ouvinte “UNVAughTexception” no emissor de eventos do processo. Bem, também não é tão fácil, mas também não é tão complicado.

Vamos começar com um teste simples:

describe 'uncaughtException', ->
  it 'should be tested', (next) ->
    try
      process.nextTick ->
        idontexist()
    catch e
      console.error 'Never called'

Instale mocha com npm install mochasalve o arquivo como ‘test.coffee’ e corra mocha --compilers coffee:coffee-script test.coffee. Como você pode ver, o erro não é capturado pelo seu código, apenas o Mocha se apega a ele.

Portanto, o ponto de partida óbvio é registrar um ouvinte de evento “UNVAGHTEXCECPEIRO”, parte do módulo “processo” Node.js nornal. Isso nos dá:

describe 'uncaughtException', ->
  it 'should be tested', (next) ->
    process.on 'uncaughtException', (err) ->
      console.error 'idontexist is not defined'
      next()
    try
      process.nextTick ->
        idontexist()
    catch e
      console.error 'Never called'

Como você pode notar, estamos pegando o erro e podemos chamar o retorno de chamada “próximo”. No entanto, o Mocha entra em nossas pernas e não nos permite lidar com esse erro graciosamente. Ele relata esse erro como um erro, mesmo que estivéssemos felizes com isso. Que comportamento intrusivo, mas não vamos culpar o Mocha, é necessário para outras situações.

O que podemos fazer sobre isso? Desconectamos o ouvinte do Mocha e qualquer outro ouvinte, se houver algum, conecte o nosso e, quando terminarmos, reapareceu tudo do jeito que era, sem esquecer de desconectar nosso ouvinte recém-criado. Espero que eu estivesse claro. Este é o código final:

describe 'uncaughtException', ->
  it 'should be tested', (next) ->
    lsts = process.listeners 'uncaughtException'
    process.removeAllListeners 'uncaughtException'
    process.on 'uncaughtException', (err) ->
      console.error 'idontexist is not defined'
      process.removeAllListeners 'uncaughtException'
      for lst in lsts
        process.on 'uncaughtException', lst
      next()
    try
      process.nextTick ->
        idontexist()
    catch e
      console.error 'Never called'

Você pode visualizá -lo em ação no recém -publicado teste de erro parte do cada módulo de iterador.

ATUALIZAR: Os links no artigo podem ser quebrados.

Tecnologia

Post navigation

Previous Post: Empresas que aceitam criptomoeda em 2025
Next Post: Os riscos do preço do Dogecoin caem abaixo de US $ 0,1, mas os touros podem facilitar esse rali de 800% para US $ 1,82 primeiro?

Mais Artigos Relacionados

Sniper Elite 4 é uma mini maravilha no iPhone 16 Pro Sniper Elite 4 é uma mini maravilha no iPhone 16 Pro Tecnologia
Coisas que você precisa saber antes de usar Coisas que você precisa saber antes de usar Tecnologia
Como colocar um host ESXi no modo de manutenção – Guia completo – Como colocar um host ESXi no modo de manutenção – Guia completo – Tecnologia
10 melhores trabalhos de TI. 10 melhores trabalhos de TI. Tecnologia
Data de desmistificação tecidos – preenchendo a lacuna entre fontes de dados e cargas de trabalho Data de desmistificação tecidos – preenchendo a lacuna entre fontes de dados e cargas de trabalho Tecnologia
Minhas escolhas de venda de sexta -feira negra de 2024 Minhas escolhas de venda de sexta -feira negra de 2024 Tecnologia

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Últimas postagens

  • O primeiro dia de outubro da Amazon reduz o Quest 3S para US $ 250 antes da temporada de férias
  • O que outras criptomoedas podem aprender com Ripple
  • O CEO do Shopify, Tobias Lütke, corre com carros em seu tempo de inatividade
  • Principais perguntas sobre entrevistas do Salesforce Admin –
  • 5 Toronto Blue Jays culpados por desperdiçar uma oportunidade de ouro de afastar os Yankees

Categorias

  • criptomoeda
  • Esportes
  • Lei Educacional
  • Realidade Virtual
  • Tecnologia

Direitos Autorais © 2025 Torvyn.

Powered by PressBook Blog WordPress theme