Teste Android
Esse é um simples app que usa a NewsAPI (https://newsapi.org)
Ele usa a arquitetura MVVM, Retrofit, Koin (para injeção de dependência) e RxAndroid.
Faça clone desse repositório e suba em outro repositório próprio, não faça fork.
Desafios
O App precisa de várias melhorias, mas no momento estamos com um problema sério onde nem conseguimos abri-lo. A primeira coisa a fazer é corrigir os erros para que ele funcione corretamente.
Nossa chave do NewsAPI expirou! É preciso gerar uma nova chave individual, que não tem custos e trocá-la (no arquivo Constants.kt). Para obter informações sobre o funcionamento da API, visite: https://newsapi.org
Além de fazer com que o app funcione corretamente, temos alguns desafios extras (não são todos obrigatórios, mas tudo que for feito será avaliado).
Os próximos desafios são:
- O App usa a arquitetura MVVM, mas a nova parte que lista as notícias não está muito legal. Precisamos rever a arquitetura dessa parte e deixar no padrão do projeto (a parte que lista os Sources).
- A listagem de notícias não está paginada e traz apenas as primeiras notícias. Precisamos pagina-la para trazer todas as informações disponíveis.
- Alguns testes estão quebrando - verifique a sessão de testes abaixo para saber como executá-los e corrigir o que for necessário.
- A nova parte de notícias está sem cobertura de testes unitários e UI. Crie os testes para melhorar a cobertura.
- Você é livre para fazer outras melhorias que achar necessário.
Faça um pequeno resumo de quais desafios e melhorias foram feitos.
Qualquer dúvida, entre em contato.
Testes
Para executar os testes unitários com cobertura:
./gradlew jacocoTestDebugUnitTestReport
Para executar os testes instrumentados:
./gradlew connectedDebugAndroidTest
Todos os dados dos testes estão mockados.