기본표기 : 실행되는 메서드의 명칭이 출력됨

@MockMvcTest
public class HomeControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void home_view() throws Exception{
        mockMvc.perform(get("/"))
                .andDo(print())
                .andExpect(status().isOk())
                .andExpect(view().name("index.html"));
    }
}

위 코드 실행시 결과값

- 보통 위처럼 메서드는 가독성을 위해서 언더스코어 규칙에 따라 주로 작성한다 

 


@DisplayNameGeneration : 언더스코어를 공백으로 치환시켜 출력시켜줌

@MockMvcTest
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
public class HomeControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void home_view() throws Exception{
        mockMvc.perform(get("/"))
                .andDo(print())
                .andExpect(status().isOk())
                .andExpect(view().name("index.html"));
    }
}

위 코드 실행시 결과값

- 클래스에 해당 어노테이션 사용시 클래스 안에 있는 모든 메서드에 적용되며, 특정 메서드에만 사용시 해당 메서드만 적용된다.

 


@DisplayName : 한글, 공백, 이모지 등 자유롭게 테스트이름을 각자 표현가능함

@MockMvcTest
public class HomeControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @DisplayName("Get Main View")
    @Test
    public void home_view() throws Exception{
        mockMvc.perform(get("/"))
                .andDo(print())
                .andExpect(status().isOk())
                .andExpect(view().name("index.html"));
    }
}

- 가장 활용도가 높으며 쉽고 자유롭게 사용이 가능하여 주로 사용하게되는 어노테이션

 

# 이 글은 백기선님의 "더 자바, 애플리케이션을 테스트하는 다양한 방법"을 듣고 정리한 내용입니다. #