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

Erro de teste.

Na aba do JUnit consta como se nao tivesse testes para rodar na classe. E quando olho para o Terminal, ele esta la em cima um "terminado". Em questão de segundos o teste se encerra por motivo que desconheço.

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

import br.com.alura.forum.modelo.Curso;

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

    @Autowired
    private CursoRepository cr;

    @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= cr.findByNome(nomeCurso);

    Assert.assertNotNull(curso);
       Assert.assertEquals(nomeCurso, curso.getNome());
    }

}

2 respostas
solução!

Eu retirei o RunWith(), troquei o org.junit.Test para o org.junit.jupiter.api.Test e tambem retirei o Assert.assertNotNull(). Para mim deu certo mas não sei se seja algo adequado.

Ficando assim:

import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.context.ActiveProfiles;

import br.com.alura.forum.modelo.Curso;

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

    @Autowired
    private CursoRepository cr;

    @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= cr.findByNome(nomeCurso);

       Assert.assertEquals(nomeCurso, curso.getNome());
    }
}

Tive o mesmo problema ,só troquei a anotação de importe do teste para org.junit.jupiter.api.Test; e funcionou.

Estou usando a versão 2.4.5 do spring.