인프런 커뮤니티 질문&답변

임다정님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

@WebMvcTest

작성

·

11

0

@WebMvcTest(StudentResgisterController.class)
class StudentResgisterControllerTest {

private MockMvc mockMvc;

@MockBean
private StudentRepositoryImpl studentRepository;

private Student testStudent;

@BeforeEach
void setUp() {
    mockMvc = MockMvcBuilders.standaloneSetup(new StudentResgisterController(studentRepository)).build();

    testStudent = new Student(
            "student1",
            "student1password",
            "student1",
            "student1@gmail.com",
            10,
            "student1comment");
}

@Test
void studentRegisterForm_ShouldReturnStudentRegisterView() throws Exception {
    mockMvc.perform(get("/student/register"))
            .andExpect(status().isOk())
            .andExpect(view().name("studentRegister"))
            .andExpect(model().attributeExists("student"));
}

이런식으로 테스트코드랑 관련된 학습은 따로 강의가없을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 임다정님.

테스트 코드 작성 및 관련 학습에 관심을 가지고 계신 것 같네요! 스프링에서의 테스트와 관련하여 보다 깊이 있는 내용을 다루는 강의를 찾고 계시다면, 테스트 주도 개발(TDD)이나 Mockito를 활용한 단위 테스트에 대한 강의를 추천드립니다.

특히 다음 두 링크의 기존 질문과 답변 내용은 더 나은 테스트 작성 방법에 대한 통찰을 얻는 데 도움이 될 수 있습니다.

  1. 실무에서 사용하는 테스트케이스 질문입니다
    이 게시물에서는 JPA를 사용한 테스트 케이스 작성과 컨트롤러 테스트 방법에 대해 다룹니다. 여기서는 서비스와 컨트롤러뿐만 아니라 필요에 따라 다양한 레이어의 테스트를 작성해야 한다는 점을 강조하고 있습니다. MockMvc를 사용하여 컨트롤러 테스트를 수행하는 기본 방법을 설명하고, AssertJ 라이브러리를 활용한 데이터 검증도 안내합니다.

  2. Mockito 를 사용하여 테스트할 때, 테스트 요구사항의 반영 질문
    Mock과 Mockito에 대한 설명을 통해 단위 테스트 작성 시 각 계층의 역할을 분리하여 테스트하는 방법에 대해 설명하고 있습니다. Mockito와 같은 프레임워크를 사용하여 테스트 코드의 효율성을 높이는 방법을 익힐 수 있습니다.

이 외에도 특정 프레임워크나 라이브러리를 깊이 있게 다루는 강의를 통해, 더 다양한 테스트 기법과 방법론을 학습하실 수 있습니다. 배우고자 하는 특정 주제가 있다면 관련된 키워드로 검색해보시길 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.