본문 바로가기

테스트코드

[TestCode] @TransInstance 테스트 인스턴스 (JUnit5) - Junit은 테스트 메소드 마다 테스트 인스턴스를 새로 만든다. - 테스트 메소드를 독립적으로 실행하여 예상치 못한 부작용을 방지하기 위해서 @custom @DisplayName("테스트 인스턴스") void instance_ex() { System.out.println("value test1 = " + value++); System.out.println("instance test1 = " + this); } @custom @DisplayName("테스트 인스턴스2") void instance2_ex() { System.out.println("value test2 = " + value++); System.out.println("instance test1 = " + this); } - 실제로 위 코드를.. 더보기
[TestCode] @Tag 태깅과 필터링 (JUnit5) @Tag : 테스트 메소드에 여러 태그를 추가할 수 있다. @Test @DisplayName("태깅 그룹 local") @Tag("local") void tag_local_ex() { Lunch lunch = new Lunch(); assertTrue(lunch.getLunch("test").equals("Complete")); } @Test @DisplayName("태깅 그룹 dev") @Tag("dev") void tag_dev_ex() { Lunch lunch = new Lunch(); assertTrue(lunch.getLunch("test").equals("Complete")); } - 위처럼 코드 구성시 local, dev라는 2개의 태그로 나뉘게 된다. - 그대로 실행시에는 두 태그에 해당하.. 더보기
[TestCode] assertion 기대값, 참 거짓 확인 (JUnit5) aseertEquals : 실제 값이 기대한 값과 같은지 확인 - 특정 기능을 실행했을경우 반환되는 값이 기대하는 값과 일치하는지 확인할 수 있는 메서드 이다. @Test @DisplayName("점심추천 만들기") void create_lunch() { Lunch lunch = new Lunch(); assertNotNull(lunch); // lunch 가 null이 아닌지 체크 assertEquals("Complete", lunch.getLunch(), "점심 만들기 성공시 Complete 여야한다."); // getLunch라는 메서드 실행시 Complete 가 반환되는지 체크 } - 위와같이 활용할 수 있으며, aseertEquals 사용시에 기대값, 실행함수 두 매개변수 위치가 서로 바뀌어도 .. 더보기
[TestCode] @DisplayName 테스트 이름표시법 (JUnit5) 기본표기 : 실행되는 메서드의 명칭이 출력됨 @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(D.. 더보기