Closed Edwanderson closed 1 month ago
Implementar testes automatizados para garantir a qualidade do código e o correto funcionamento da API.
ProductService
ProductController
import static org.mockito.Mockito.*; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; public class ProductServiceTest { @InjectMocks private ProductService productService; @Mock private ProductRepository productRepository; private Product product; @BeforeEach public void setUp() { MockitoAnnotations.openMocks(this); product = new Product(); product.setId(1L); product.setName("Product Name"); product.setPrice(100.00); } @Test public void testCreateProduct() { when(productRepository.save(any(Product.class))).thenReturn(product); Product createdProduct = productService.createProduct(product); assertNotNull(createdProduct); assertEquals(product.getId(), createdProduct.getId()); } @Test public void testGetProductById() { when(productRepository.findById(1L)).thenReturn(Optional.of(product)); Product foundProduct = productService.getProductById(1L); assertNotNull(foundProduct); assertEquals(product.getId(), foundProduct.getId()); } }
pom.xml
<dependencies> <!-- Dependências já existentes --> <!-- Dependências para testes --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> </dependencies>
Issue: 🧪 Implementar Camada de Testes
Descrição:
Implementar testes automatizados para garantir a qualidade do código e o correto funcionamento da API.
Sub-issues:
ProductService
ProductController
Código de exemplo para testes:
Atualizações no
pom.xml
: