Como testar métodos privados em JavaScript (ou qualquer linguagem) 💥
Quando se começa a trabalhar com testes unitários é normal ver que o projeto vai crescendo e ganhando abstrações 😥
Isso significa que funções que são somente utilizadas dentro de um único arquivo / contexto (e não fazem sentido serem expostas para usuários) são alteradas para serem acessadas somente internamente (funções privadas)
Só que a grande questão é: como testar se não possuímos acesso externo à elas? 🤨
No projeto
@Nodejs, implementamos testes que validam essas funções privadas sempre a partir de uma função publica 😎
Um exemplo:
export function getAll(isAdmin) {
const people = getPeople()
if(!isAdmin) return { people }
const dogs = getDogs()
return { people, dogs }
}
De fora deste arquivo, você pode somente chamar a função getAll, mas precisa necessariamente testar que getDogs e getPeople fazem o que você espera.
Então, você cria casos de teste enviando diferentes parâmetros para getAll e assim validar que as funções privadas funcionam como o esperado 💥
Via relatorio de cobertura de código, você consegue definir se seu teste está validando todas os caminhos que a função percorre, animal né?
E se você quiser aprender mais sobre, é só clicar na minha foto e me seguir 🔥
#JavaScriptTips #CodeTesting101 #DevTips #JavaScriptSnippets #ProgrammingTutorials #WebDevInsights #JavaScriptTricks #CodeDebugging #TechTutorials #JSDevelopment