0

我正在为我的服务编写一些测试类,并注意到返回测试结果后发生的奇怪行为。控制台打印“空”消息并且没有关于测试的其他信息。测试工作正常,因为我试图让它们失败以确保是这种情况。这是预期的行为吗?

@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

null

Process finished with exit code 0
4

0 回答 0