Por que foi passado um arrow function dentro do expect e não chamou direto o service.adicionarLivros()?
Por que foi passado um arrow function dentro do expect e não chamou direto o service.adicionarLivros()?
Olá Nathan!
Nomalmente é adotado essa forma com arrow function dentro do expect
ao invés de chamar diretamente service.adicionarLivros()
é porque estamos testando se uma função lança um erro. Quando você espera que uma função lance um erro, você precisa passar a função como uma referência para o expect
, e não o resultado da execução da função.
Se você chamasse service.adicionarLivros()
diretamente dentro do expect
, a função seria executada antes mesmo de o expect
ser chamado, e se ela lançasse um erro, esse erro não seria capturado pelo Jest para ser verificado. Ao invés disso, ao passar uma função (ou seja, uma arrow function) para o expect
, você está dizendo ao Jest para executar essa função e verificar se ela lança o erro esperado.
Espero ter ajudado! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!