Fiz o teste exatamente como descrito em aula e recebi o erro abaixo:
Fiz o teste exatamente como descrito em aula e recebi o erro abaixo:
Olá Ludmilla! Tudo bem?
O erro que você está enfrentando ocorre porque o Mockito, por padrão, não consegue mockar classes que são final
ou private
, como é o caso da classe Context
do Android. Para resolver esse problema, você pode usar o framework Mockito com o plugin mockito-inline
, que permite mockar classes finais:
Adicionar dependência do Mockito Inline:
No arquivo build.gradle
do módulo do seu app, adicione a seguinte dependência:
testImplementation 'org.mockito:mockito-inline:4.0.0' // Verifique a versão mais recente
Revisar o uso do Context:
Em vez de mockar o Context
, considere passar um contexto real ou usar uma abordagem diferente para testar a funcionalidade que depende dele. Muitas vezes, você pode usar um ApplicationProvider
para obter um contexto de teste:
Context context = ApplicationProvider.getApplicationContext();
Verifique outros mocks:
Certifique-se de que outras classes que você está tentando mockar não sejam finais ou privadas, ou use o mockito-inline
para lidar com elas.
Após essas alterações, tente rodar seus testes novamente. Isso deve resolver o problema com o Mockito.
Espero ter ajudado. Conte com o apoio do fórum em sua jornada :)
Um abraço e bons estudos!
Após acrescentar a dependencia, funcionou! Muito obrigada pela excelente dica!