Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gabrielcruzrodrigues/apirest-testesunitarios-junit5-mockito
Api REST de usuários feita em Java, Spring, Jpa, Hibernate e o banco de dados H2 para aplicação de testes unitários usando Junit 5 e Mockito.
https://github.com/gabrielcruzrodrigues/apirest-testesunitarios-junit5-mockito
apirest h2-database hibernate-jpa java jpa junit5 mockito rest-api spring-boot spring-mvc testes-unitarios
Last synced: 28 days ago
JSON representation
Api REST de usuários feita em Java, Spring, Jpa, Hibernate e o banco de dados H2 para aplicação de testes unitários usando Junit 5 e Mockito.
- Host: GitHub
- URL: https://github.com/gabrielcruzrodrigues/apirest-testesunitarios-junit5-mockito
- Owner: gabrielcruzrodrigues
- Created: 2023-09-21T12:52:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-26T12:57:56.000Z (over 1 year ago)
- Last Synced: 2024-11-16T17:20:40.963Z (3 months ago)
- Topics: apirest, h2-database, hibernate-jpa, java, jpa, junit5, mockito, rest-api, spring-boot, spring-mvc, testes-unitarios
- Language: Java
- Homepage:
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ApiREST-testesUnitarios-Junit5-Mockito
### O foco deste projeto foi colocar a prova as minhas habilidades em testes unitários, e para isso, utilizei das bibliotecas Junit 5 e Mockito.O projeto conta com uma apiREST de pessoas, com um Crud completo, usando o banco de dados H2 para fazer a persistência, e também utilizei de alguns outros conceitos como:
* DTO
* Beans
* DDD
* Tratamento de Exceções (Exception Handler)
* Testes unitários
* Carga inicial de dados
* ModelMapper### O projeto está com 100% de cobertura de teste em suas classes!
# Como rodar o projeto:
1. Tenha o JDK17 instalado na sua maquina!
2. Clone o projeto para um diretorio local.
3. Abra o projeto em sua IDE de preferência e baixe as dependências.
4. Inicie o projeto!O projeto já vem com carga inicial de dados, então vc já vai ter alguns registros no banco para poder manipular.
### para verificar os testes e rodar os mesmos, va até: `src/test/java`
# EndPoints
#### GET /person - status: 200
Resgata todos os registros do banco de dados.
```
[
{
"id": 1,
"name": "Gabriel",
"email": "[email protected]"
},
{
"id": 2,
"name": "Samuel",
"email": "[email protected]"
},
{
"id": 3,
"name": "Stéfany",
"email": "Sté[email protected]"
},
{
"id": 4,
"name": "Sara",
"email": "[email protected]"
},
{
"id": 5,
"name": "Pedro",
"email": "[email protected]"
}
]
```
#### GET /person/:id - status: 200
Busca pessoa por id.
```
{
"name": "Gabriel",
"email": "[email protected]",
}
```#### POST /person - status: 201
cria nova pessoa.
```
{
"name": "Gabriel",
"email": "[email protected]",
"password": "123"
}
```
#### PUT /person/:id - status: 200
Atualiza registro no banco de dados.
```
{
"name": "Gabriel",
"email": "[email protected]",
"password": "123"
}
```
#### DELETE /person/:id - status: 204
Deleta pessoas do banco de dados.