본문 바로가기

카테고리 없음

Spring boot @MockBean Example

반응형
@SpringBootTest
class StudentRepositoryTest {
    @Autowired
    Student student;
    @Autowired
    StudentGrades studentGrades;
	
    @MockBean
    private StudentRepository studentRepository;

    @Autowired
    private StudentService studentService;

    @BeforeEach
    void beforeEach() {
        student.setFirstName("Eric");
        student.setLastName("King");
        student.setEmailAddress("eric.roby@asdf.com");
        student.setStudentGrades(studentGrades);
    }

    @DisplayName("When & Verify")
    @Test
    void assertEqualsTestAddGrades() {
        when(studentRepository.addGradeResultsForSingleClass(
            studentGrades.getMathGradeResults()))
        .thenReturn(100.00);

        assertEquals(100, studentService.addGradeResultsForSingleClass(
            student.getStudentGrades().getMathGradeResults()));

        verify(studentRepository).addGradeResultsForSingleClass(studentGrades.getMathGradeResults());

        verify(studentRepository, times(1)).addGradeResultsForSingleClass(studentGrades.getMathGradeResults());
    }
}
반응형