4
respostas

Test em classe que tem páginação

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?

4 respostas

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());
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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