如何在测试方法中正确返回元素。我的考试有问题。

when(teamService.createTeam(teamDto)).thenReturn();


在这一行中,我不知道如何正确编写return语句。thenReturn之后应该放在括号中。
我的方法创建团队如下所示:

@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时,我期望得到表达式。

最佳答案

根据您要执行的操作,您可以执行以下操作:

when(teamService.createTeam(teamDto)).thenReturn(new Team());


要么

Team team = mock(Team.class);
when(teamService.createTeam(teamDto)).thenReturn(team);


PS:我假设您正在测试的类不是包含您发布的方法的类。我假设您正在嘲笑该服务,因此在某处之前,您应该编写如下内容:

TeamService teamService = mock(TeamService.class);

10-06 09:42