Имеет ли Junit / Mockito значение из фактического возврата метода? - PullRequest
0 голосов
/ 25 октября 2019
@Test 
public void testTotalMarks(){
   Mark gMark = fakeMarkGenerator.createMarks();
   DBMark dbMark = markMapper.toDBMark(gMark);

   when(repoLayer.findMarksByStudentId()).thenReturn(Optional.of(dbMark)); 
 markService.createMarks(gMark); //Actually createMarks method return type is DBMark. 
//But this code works fine.
//Shouldn't this be DBMark dbMark2 =  markService.createMarks(gMark); ??

verify(mockMarkMapper, times(2)).toTotal(any(Total.class)); //I don't understand times here

Assert statement
}

1 Ответ

0 голосов
/ 25 октября 2019

Я не понимаю, раз здесь

Времена указывают количество вызовов, которые вы ожидаете для метода, который вы проверяете.

Следуетэто будет DBMark dbMark2 = markService.createMarks (gMark);??

Если вы пытаетесь установить значение, возвращаемое из метода, который вы тестируете, тогда да, вам следует присвоить его переменной и подтвердить свое значение. Пример:

assertThat(dbMarks.size, <maybe your matcher here>)

...