java - 集成测试db h2
问题描述
您好,我想在 h2 中对我的数据库进行集成测试。但是我的方法有些问题。我的集成测试代码:
@RunWith(SpringRunner.class)
@DataJpaTest
public class Team_database_integration_test {
@MockBean
private TeamRepository teamRepository;
@Autowired
private TestEntityManager testEntityManager;
@Test
public void testDb() {
Team team = new Team(1L, "teamName", "teamDescription", "krakow", 7);
testEntityManager.persist(team);
testEntityManager.flush();
Assert.assertEquals(1L, teamRepository.findById(team.getId()));
}
}
我的错误:
java.lang.AssertionError:
Expected :1
Actual :Optional.empty
我认为一个原因是在我的服务方法findbyid中:
public Optional<TeamDto> findTeamById(Long id) {
Assert.notNull(id, "ID must exist ");
return teamRepository
.findById(id)
.map(p -> modelMapper.map(p, TeamDto.class));
}
解决方案
推荐阅读
- apache-spark - Spark批量加载文件集合并从每个文件中找到包含文件级别附加信息的行
- python-3.x - Scrapy - TypeError:“规则”对象不可迭代
- javascript - 如何在网格系统中放置 D3js 图表?
- angular - 角度 2 显示单击行的浮动 div
- ruby-on-rails - 在 Rails 中有很多关联
- server-side - 服务器端事件和 Web hook [反向 API] 有什么区别?
- angular - 在 ngOnDestroy 回调中完成 Output() 事件发射器
- java - Resttemplate - 请求 pojo 本身或请求 json 字符串并解析它
- sql - SQL Server 中的 SUBQUERY 和 EXISTS
- java - 在 MySQL 中删除和添加条目时,int ID 会跳转数字