MySQL
Spring Boot 3
Hibernate
Swagger
Lombok
Spring Data Jpa
Java
JUnit 5
Mockito
- Clone o repositório:
git clone https://github.com/Fernand0-jf/API-GMAIL - Configure o banco de dados MySQL e atualize as configurações no arquivo
application.properties. - Instale as dependências:
mvn installou./gradlew build - Execute a aplicação:
mvn spring-boot:runou./gradlew bootRun
- Certifique-se de configurar corretamente o arquivo
application.propertiescom as credenciais do banco de dados PostgreSQL. - Você pode ajustar outras configurações no arquivo para atender às suas necessidades específicas.
Acesse a documentação da API utilizando Swagger:
-verifique se está com host e a porta certa ex: http://host:port/swagger-ui.html
- Swagger UI: Visualize e teste as endpoints da API.
- Utilize o Postman ou qualquer outra ferramenta para realizar requisições HTTP para as seguintes rotas:
POST /main/send/{email}: envia um unico emailPOST /main/send/id/{groupId}: envia um corpo de email para todos os usuarios cadastrados no banco de dados com o mesmo groupIdPOST /userMain/save: Salva o email do usuario no banco de dadosDELETE /userMain/delete/{id}: Exclui o email do usuario do banco de dados
Request:
POST /main/send/teste@ok.com
Content-Type: application/json
{
"subject":"teste envio de email 1",
"message":"eu conseguir enviar um email"
}Resposta:
email send
Request:
POST /userMain/save
Content-Type: application/json
{
"username":"teste",
"groupId":1,
"email":"teste@ok.com"
}Resposta:
user save
Request:
POST /main/send/id/1Resposta:
{
"subject":"2 teste envio de email",
"message":"eu conseguir enviar um email"
}Request:
DELETE /userMain/delete/1Resposta
user delete
Neste projeto, foi realizado um conjunto abrangente de testes unitários utilizando JUnit e Mockito. Esses testes foram elaborados para validar cada aspecto da aplicação.
- JUnit: O JUnit é um framework de teste unitário amplamente utilizado para a linguagem Java. Ele oferece uma estrutura simples e poderosa para escrever e executar testes automatizados.
- Mockito: O Mockito é uma biblioteca popular para criação de mocks e stubs em testes unitários. Ele nos permite simular o comportamento de objetos e controlar o resultado das chamadas de métodos, facilitando o teste de componentes isolados.
Após a implementação dos testes unitários, realizei uma análise de cobertura para garantir a abrangência dos testes. Fico satisfeito em informar que alcançamos uma cobertura de teste de 100%. Isso significa que todas as partes críticas do código foram testadas e validadas, proporcionando uma confiança adicional na qualidade do software.
Os testes unitários oferecem uma série de benefícios significativos para o desenvolvimento de software:
- Detecção Precoce de Problemas: Os testes unitários nos ajudam a identificar problemas de código precocemente, antes que eles se tornem mais difíceis e custosos de corrigir.
- Facilidade de Manutenção: Uma suíte robusta de testes unitários simplifica a manutenção do código, permitindo que façamos alterações com confiança, sabendo que os testes nos alertarão sobre qualquer regressão.
- Documentação Viva: Os testes unitários também servem como uma forma de documentação viva do código. Eles descrevem como as várias partes do sistema devem se comportar e podem ajudar os novos membros da equipe a entender o funcionamento do software.
Os testes unitários são uma parte essencial do processo de desenvolvimento de software. Eles garantem a robustez, confiabilidade e qualidade do código, permitindo que entreguemos produtos de alta qualidade aos nossos usuários finais. Com uma cobertura de teste completa e o uso de ferramentas poderosas como JUnit e Mockito.
