Я пишу несколько тестовых классов для своих сервисов и заметил странное поведение, которое происходит после возвращения результатов теста. Консоль печатает нулевые сообщения и никакой другой информации о тестах. Тесты работают нормально, так как я пытался их провалить, чтобы убедиться, что это так. Это ожидаемое поведение?
@RunWith(MockitoJUnitRunner.class)
public class GradeServiceTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
@Mock
private GradeRepository gradeRepository;
@Mock
private AssignmentService assignmentService;
@InjectMocks
private GradeService gradeService;
private Assignment assignment;
private Grade grade;
@Before
public void init() {
assignment = new Assignment.Builder()
.withId(0L)
.withModuleId(0L)
.withName("Test assignment")
.withWeightEnabled(false)
.withWeight(0)
.build();
grade = new Grade.Builder()
.withId(0L)
.withAssignmentId(0L)
.withGradeType(GradeType.PERCENTAGE)
.withGradeValue("50%")
.build();
}
@Test
public void shouldAddGrade() throws AssignmentException, GradeException {
// GIVEN
when(assignmentService.exists(grade.getAssignmentId())).thenReturn(true);
when(gradeRepository.insert(any())).thenReturn(grade);
// WHEN
Grade addedGrade = gradeService.addGrade(grade.getAssignmentId(), grade.getType().name(), grade.getValue());
// THEN
assertThat(addedGrade).isEqualTo(grade);
}
@Test
public void shouldNotAddGradeIfAssignmentDoesNotExist() throws AssignmentException, GradeException {
// GIVEN
when(assignmentService.exists(grade.getAssignmentId())).thenReturn(false);
// EXPECT
thrown.expect(AssignmentException.class);
thrown.expectMessage(AssignmentErrorMessages.NOT_FOUND);
// THEN
gradeService.addGrade(grade.getAssignmentId(), grade.getType().name(), grade.getValue());
}
}
Я не думаю, что это нормальное поведение для каждого теста, чтобы печатать «ноль» без какой-либо другой информации. Может ли кто-нибудь помочь мне понять, что не так с кодом?
Результаты испытаний:
null
null
Process finished with exit code 0