Java Can';在junit上看不到存储库中的数据
嗨,我想尝试从我的存储库接收数据,但我什么也检索不到。 我在“src/main”中创建了autowired和on java类,它可以正常工作 但是在junit测试中没有 我尝试过Jpa存储库的任何方法,但我总是收到一个“null”参数 初中班Java Can';在junit上看不到存储库中的数据,java,spring,junit,spring-rest,Java,Spring,Junit,Spring Rest,嗨,我想尝试从我的存储库接收数据,但我什么也检索不到。 我在“src/main”中创建了autowired和on java类,它可以正常工作 但是在junit测试中没有 我尝试过Jpa存储库的任何方法,但我总是收到一个“null”参数 初中班 @RunWith(SpringJUnit4ClassRunner.class) @DataJpaTest class testClass { @Autowired private TestEntityManager entityManag
@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);
}
基于
@DataJpaTest
文档:
如果类路径上有可用的嵌入式数据库,则会配置
还有一个
因此,如果没有,请仔细检查,如果需要,请遵循此文档:
但是,如果您更喜欢对真实数据库运行测试,您可以
使用@AutoConfigureTestDatabase
因为您的测试可能使用基于实体注释的嵌入式数据库,并且您正在测试一个空数据库
编辑
如果查看@AutoConfigureTestDatabase
,您可以看到测试将在DB config方面查看哪些属性:
@PropertyMapping(value="spring.test.database")
根据情况,可能需要检查测试范围内的其他设置
在spring boot中,如果有嵌入式数据库,则它由测试范围内的该数据库组成。尝试使用此注释
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = {HCSRepositoryContext.class})
您能否尝试删除
@DataJpaTest
?你明白这个注释的作用吗?另外,如果你想进行集成测试,使用它可能是明智的。他只想测试repo级别。他不需要整个网络服务器嗨,谢谢你尝试帮助我如果我不想使用嵌入式数据库?如何将一个真正的数据库与测试连接起来?我正在尝试使用在src/maintry@AutoConfigureTestDatabase
上使用的相同属性。我通过:@AutoConfigureTestDatabase(replace=replace.NONE)解决了这个问题。谢谢:Dhi,谢谢你尝试帮助我,如果我不想使用嵌入式数据库?如何将一个真正的数据库与测试连接起来?我正在尝试使用我在src/main上使用的相同属性检查我的upadtei解决方法:@AutoConfigureTestDatabase(replace=replace.NONE)谢谢:Dhi谢谢尝试帮助我,我已经尝试了,但是我遇到了相同的问题java.lang.nullPointerException我认为无法连接到我的数据库
@PropertyMapping(value="spring.test.database")
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = {HCSRepositoryContext.class})