Por que foi passado um arrow function dentro do expect e não chamou direto o service.adicionarLivros()?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!