Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aula: Testando o repository com outro banco de dados

query did not return a unique result: 2; nested exception is erro ao tentar rodar os códigos, após inserir @AutoConfigureTestDatabase e @ActiveProfiles

@RunWith(SpringRunner.class) @DataJpaTest @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @ActiveProfiles("test") public class CursoRepositoryTest {

@Autowired
private CursoRepository repository;

@Autowired
private TestEntityManager em;

@Test
public void deveriaCarregarUmCursoAoBuscarPeloSeuNome() {
    String nomeCurso = "HTML 5";

    Curso html5 = new Curso();
    html5.setNome(nomeCurso);
    html5.setCategoria("Programacao");
    em.persist(html5);

    Curso curso = repository.findByNome(nomeCurso);
    Assert.assertNotNull(curso);
    Assert.assertEquals(nomeCurso, curso.getNome());
}

@Test
public void nãoDeveriaCarregarUmCursoQueONomeNaoEstaCadastrado() {
    String nomeCurso = "JPA";
    Curso curso = repository.findByNome(nomeCurso);
    Assert.assertNull(curso);

}

}

2 respostas
solução!

Oi Carlos,

Com a anotação @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) o teste vai rodar no mesmo banco de dados da aplicação e se já tiver registros lá, pode acontecer o erro mesmo.

Aah, entendi professor. Muito obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software