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