无法在junit

时间:2019-08-05 09:39:52

标签: java spring junit spring-rest

嗨,我想尝试从存储库中接收数据,但是我什么也找不到。 我进行自动连线,并在“ src / main”中的java类上工作 但在junit测试中没有

我尝试过任何Jpa信息库的方法,但总是收到“空”参数

初级班

@RunWith(SpringJUnit4ClassRunner.class)
@DataJpaTest
class testClass {

    @Autowired
    private TestEntityManager entityManager;


    @Autowired
    private ClienteRepository clienteRepository;


    @Test
    public void test() {


       List<ClienteEntity> cliente = clienteRepository.findAll();
        System.out.println(cliente);

    }

存储库

@Repository
public interface ClienteRepository extends JpaRepository<ClienteEntity, Integer>{
    ClienteEntity findByEmail(@Param("email") String email);

控制台     在控制台中使用system.out.printl时,我始终具有以下输出:

    Hibernate: select clienteent0_.id as id1_0_, clienteent0_.cap as cap2_0_, clienteent0_.citta as citta3_0_, clienteent0_.cognome as cognome4_0_, clienteent0_.email as email5_0_, clienteent0_.indirizzo as indirizz6_0_, clienteent0_.nome as nome7_0_, clienteent0_.password as password8_0_, clienteent0_.token as token9_0_ from cliente clienteent0_
    []

    a empty list of ClientEntity

3 个答案:

答案 0 :(得分:0)

基于@DataJpaTest个文档:

  

如果在类路径上有嵌入式数据库,它将配置   还有一个

因此请仔细检查是否没有任何内容,并在需要时遵循此文档:

  

但是,如果您希望针对真实数据库运行测试,则可以   使用@AutoConfigureTestDatabase

由于您的测试可能正在使用基于实体注释的嵌入式测试,因此您将再次测试一个空的数据库。

修改

如果您查看@AutoConfigureTestDatabase,则可以看到测试将根据数据库配置查看哪些属性:

@PropertyMapping(value="spring.test.database")

答案 1 :(得分:0)

根据情况,可能有必要检查测试范围内的其他设置。

在春季启动中,如果有嵌入式数据库,则它由测试范围内的该数据库组成。

答案 2 :(得分:0)

尝试使用此注释。

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = {HCSRepositoryContext.class})