Estou começando a usar o Mockito e me surgiu uma dúvida:
Código:
public Avaliacao salvar(Avaliacao avaliacao)
{
... lógica para salvar no banco ...
}
/* se não acha uma listagem de notas para o aluno, crio uma para cada disciplina da turma com valores padrões */
public List<Avaliacao> listar(...)
{
...
Avaliacao avaliacao = new Avaliacao(); /** Avaliação é uma váriavel local do método */
avaliacao.setAluno(aluno);
avaliacao.setDisciplina(disciplina.getDisciplina());
avaliacao.setPeriodo(periodo);
avaliacao.setTurma(turma);
avaliacao.setNotaAvaliacao(metodos.persistirMetodoAvaliacaoPadrao(turma.getTipoAvaliacao()));
listaAvaliacoes.add(salvar(avaliacao)); /** Adiciona na lista que será retornada, mas também salva no banco de dados */
....
}
O problema é que ao mockar isso com o mockito. O salvar(avaliacao) retorna nulo. Prejudicando o restante do método.
Então tenho que fazer o seguinte:
Só que isso gera repetição de código, pois tenho que preencher o objeto avaliação com os mesmos dados. Existe como fazer o mockito retornar o mesmo parametro que recebeu?
Exemplo:
Retornando o que veio como parâmetro do método?