我应该如何在我的测试方法中正确返回元素。我的考试有问题。
when(teamService.createTeam(teamDto)).thenReturn();
在这一行中我不知道如何正确写出return语句。在afterReturn之后应该在括号中。 我的方法cretate团队看起来像这样:
@Transactional
public Team createTeam(TeamDto teamDto) {
Assert.notNull(teamDto, "Object can't be null!");
try {
Assert.notNull(teamDto.getName());
return teamRepository.save(modelMapper.map(teamDto, Team.class));
} catch (Exception e) {
throw new CreateEntityException(e);
}
}
在这个方法中,我返回Team对象但是当我添加Team时,我有预期的表达式。
答案 0 :(得分:3)
取决于你想做什么,你可以这样做:
when(teamService.createTeam(teamDto)).thenReturn(new Team());
或
Team team = mock(Team.class);
when(teamService.createTeam(teamDto)).thenReturn(team);
PS:我假设您的受测试的课程不是包含您发布的方法的课程。我假设你在嘲笑那个服务,所以在某个地方,之前,你应该写一些类似的东西:
TeamService teamService = mock(TeamService.class);
答案 1 :(得分:1)
由于您使用模拟框架来模拟TeamService类,因此您应该创建一个带有虚拟值的模拟Team
对象,并将其返回到thenReturn()
子句中。