Java Spring boot JPA不会在单个测试范围内保持更改
我使用的是Spring Boot 2.0.1和Java Spring boot JPA不会在单个测试范围内保持更改,java,spring,hibernate,spring-boot,jpa,Java,Spring,Hibernate,Spring Boot,Jpa,我使用的是Spring Boot 2.0.1和Spring Boot starter数据jpa 在数据库中,我有3条记录。我进行这样的测试: @Test public void shouldDeleteByName() { service.deleteOneByName("SOME NAME"); // Out of 3 records 1 was deleted List<Customer> customers = service.selectAll();
Spring Boot starter数据jpa
在数据库中,我有3条记录。我进行这样的测试:
@Test
public void shouldDeleteByName() {
service.deleteOneByName("SOME NAME"); // Out of 3 records 1 was deleted
List<Customer> customers = service.selectAll();
assertThat(customers).hasSize(2); // FAILS
assertThat(customers).extracting("name").doesNotContain("SOME NAME"); // FAILS
}
@测试
public void shouldDeleteByName(){
service.deleteOneByName(“SOME NAME”);//删除了3条记录中的1条
列出客户=服务。选择全部();
assertThat(customers).hasSize(2);//失败
assertThat(customers).extracting(“name”).doesNotContain(“SOME name”);//失败
}
没有错误,我看到事务已提交
事务似乎在selectAll
之前被还原,或者selectAll
尚未看到更改
我做错了什么?看来它解决了我的问题:
DataSourceTransactionManager
更改为JpaTransactionManager
,示例发布在末尾@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
return new JpaTransactionManager(entityManagerFactory);
}
在调用包含3个客户实体的删除列表之前,service.selectAll()返回什么。