Spring Boot Testing с Mockito и ExpectedException - консольная печать 'null' - это нормально? - PullRequest
0 голосов
/ 03 мая 2019

Я пишу несколько тестовых классов для своих сервисов и заметил странное поведение, которое происходит после возвращения результатов теста. Консоль печатает нулевые сообщения и никакой другой информации о тестах. Тесты работают нормально, так как я пытался их провалить, чтобы убедиться, что это так. Это ожидаемое поведение?

@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
...