Oi, Guilbert, tudo bem?
Sobre a função realizarSorteio():
Realmente a função realizarSorteio()
não pode ser considerada uma função pura, pois ela depende da função shuffle()
que gera um resultado aleatório a cada chamada. Contudo, é possível testar a função realizarSorteio()
de maneira eficaz. Para isso, basta fornecer uma lista de participantes fixa e verificar se o resultado do sorteio atende aos requisitos, neste caso, cada participante não pode sortear a si mesmo.
Cenários para utilizar testes:
Além de funções puras, os testes podem ser aplicados a diversos outros cenários, como:
- Funções que interagem com APIs externas: é possível criar mocks para simular as respostas da API e testar o comportamento da função.
- Componentes React: é comum testar se os componentes renderizam corretamente, se os eventos são disparados corretamente, etc.
- Lógica de negócio complexa: mesmo que a função não seja pura, é possível testá-la fornecendo entradas conhecidas e verificando se o resultado é o esperado.
A ideia é testar o comportamento esperado da sua aplicação, independentemente da pureza da função. Então, no caso da função realizarSorteio()
, você pode criar testes que verifiquem se o resultado do sorteio atende aos requisitos, mesmo que a função não seja pura. Isso ajudará a garantir o correto funcionamento da sua aplicação.
Caso queira aprender mais sobre testes recomendo a leitura do artigo Escrevendo testes automatizados com React e TypeScript.
Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!