As atividades têm como foco a aplicação de testes unitários e de integração, empregando ferramentas como JUnit e Mockito para consolidar boas práticas de desenvolvimento orientado a testes.
Cada subpasta representa uma atividade individual, contendo sua respectiva implementação completa: código-fonte, testes automatizados e, quando aplicável, documentação complementar e relatórios de erro.
TestesAutomatizados/
├── README.md
├── Atividade2/
├── Atividade3/
├── Atividade4-5-6/
├── Atividade7/
| Atividade | Tecnologia | Testes | Conceitos Abordados |
|---|---|---|---|
| 2 | JUnit | Unitários | Operações aritméticas, exceções |
| 3 | JUnit | Unitários | Regras de negócio, TDD |
| 4 | Spring Data JPA | Integração | Query Methods, @Query, filtragem |
| 5 | Mockito | Unitários mockados | Mocks, verificação de chamadas |
| 6 | Spring Boot | Integração | Teste de serviços sem mocks (integração real) |
| 7 | MockMVC | Integração Web | Testes de endpoints REST, validação HTTP e respostas |
-
Descrição: Desenvolver testes unitários para a classe
Calculadora, fornecida pelo professor, cobrindo construtores, operações aritméticas e tratamento de exceções. -
Objetivo: Garantir o comportamento esperado dos métodos
somar,subtrair,multiplicar,dividir,exponenciarezerarMemoria, além de documentar os casos de uso e relatar erros identificados.
-
Descrição: Implementar testes unitários para as classes
FuncionarioeFuncionarioTerceirizado, verificando o cumprimento das regras de negócio relacionadas a pagamento, carga horária, valor por hora e despesas adicionais. -
Objetivo: Aplicar a abordagem de TDD para assegurar que todos os métodos, construtores e setters estejam em conformidade com as regras de negócio estabelecidas.
-
Utiliza o projeto Cliente Teste Modelo como base
-
Descrição: Implementar testes na classe
ClientRepositoryTestsutilizando o projeto base com Spring Data JPA. -
Objetivo: Criar e testar métodos personalizados no
ClientRepositorypara buscas por nome, parte do nome, salário e data de nascimento, utilizandoQueryMethodse expressões com@Query(quando necessário).
-
Descrição: Implementar testes unitários na classe
ClientServiceTestsutilizando Mockito, validando os principais comportamentos dos métodos de serviço. -
Objetivo: Assegurar o retorno correto de dados e o tratamento adequado de exceções esperadas dos métodos
delete,findAllPaged,findByIncome,findById,updateeinsert, além de verificar as interações com o repositório.
- Descrição : Refazer os testes da
Atividade A5, removendo o Mockito, assim criando o teste de integração. Criando uma nova classe de teste, sem modificar a classe criada naAtividade A5. - Objetivo: Garantir que os métodos do serviço funcionam corretamente em um ambiente integrado, acessando o banco de dados real (ou em memória), validando persistência, atualização, remoção e busca de clientes sem uso de mocks.
- Descrição: Implementar testes de integração para os endpoints REST do recurso de clientes utilizando MockMVC e MockBean.
- Objetivo: Garantir que todos os endpoints do recurso de clientes respondam corretamente para cenários de sucesso e erro, validando status HTTP, estrutura e conteúdo das respostas.