Olá, estou tentando executar um teste em uma interface do jpa, que retorna o nome de um produto, porém este metodo está esperando o nome do produto e uma páginação, como eu passo a páginação no teste?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, estou tentando executar um teste em uma interface do jpa, que retorna o nome de um produto, porém este metodo está esperando o nome do produto e uma páginação, como eu passo a páginação no teste?
Oi Pablo,
Nos testes voce precisa criar na mao o objeto de paginacao:
Pageable paginacao = PageRequest.of(0, 10);
Show, mas agora está dando este erro.
@DataJpaTest
@AutoConfigureTestDatabase
public class ProductRepositoryTests {
@Autowired
ProductService productService;
@Test
public void searchProductWhenFinding(){
String nameProduct = "Product 1";
Pageable page = PageRequest.of(0, 10);
ProductModel product = (ProductModel) productService.findByName(nameProduct, page);
Assert.assertNotNull(product);
Assert.assertEquals(nameProduct, product.getName());
}
}
Vi que esta faltando a anotacao RunWith na sua classe.
Opa, testei com o RunWith, mas ele não está fazendo diferença dei uma pesquisada e está relacionado com o banco de dados, se eu usar a anotação @SpringBootTest ele volta ao normal, então deduzi que o problema está no @DataJpaTest