我在Spring Boot中为MongoRepository编写了一个测试,测试运行良好。唯一的问题是,当测试结束时,我想要回滚,这样测试就不会引起数据库中的更改。
// package...
// imports...
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MetistrafficApplication.class)
@Rollback(true)
public class AppRepositoryTests {
@Autowired
private AppRepository appRepository;
@Test
public void insertTest() {
App app = new App("test");
App appInserted = appRepository.save(app);
assertThat(appInserted.getName(), equalTo(app.getName()));
}
}我把@Transactional放在@Rollback之前,但得到了这个错误:
java.lang.illegalstateexception:Failed to retrieve PlatformTransactionManager for @Transactional test for test context当我搜索这个错误时,我找不到使用MongoRepository的任何代码。那么,我该如何解决这个问题呢?
编辑:添加@Transactional("PlatformTransactionManager")后,我得到的错误更改为:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'PlatformTransactionManager' is defined: No matching PlatformTransactionManager bean found for qualifier 'PlatformTransactionManager' - neither qualifier match nor bean name match!https://stackoverflow.com/questions/38354181
复制相似问题