为了账号安全,请及时绑定邮箱和手机立即绑定

在 junit 上看不到存储库中的数据

在 junit 上看不到存储库中的数据

素胚勾勒不出你 2023-05-17 14:29:08
您好,我想尝试从我的存储库接收数据,但我什么也检索不到。我在 java 类中自动装配:“ src/main” 它有效但在 junit 测试中没有我已经尝试过 Jpa 存储库的任何方法,但我总是收到一个“空”参数Junit类@RunWith(SpringJUnit4ClassRunner.class)@DataJpaTestclass testClass {    @Autowired    private TestEntityManager entityManager;    @Autowired    private ClienteRepository clienteRepository;    @Test    public void test() {       List<ClienteEntity> cliente = clienteRepository.findAll();        System.out.println(cliente);    }资料库@Repositorypublic 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 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

基于@DataJpaTest文档:

如果嵌入式数据库在类路径上可用,它也会配置一个

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

但是,如果您更喜欢针对真实数据库运行测试,您可以使用@AutoConfigureTestDatabase

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

编辑

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

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


查看完整回答
反对 回复 2023-05-17
?
慕容森

TA贡献1853条经验 获得超18个赞

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

在spring boot中,如果有内嵌数据库,则在test范围内由该数据库组成。


查看完整回答
反对 回复 2023-05-17
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

尝试使用此注释。


@RunWith(SpringJUnit4ClassRunner.class)

@WebAppConfiguration

@ContextConfiguration(classes = {HCSRepositoryContext.class})


查看完整回答
反对 回复 2023-05-17
  • 3 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信