본문 바로가기

Spring/Testing

(4)
AssertJ 1. 지원 AssertJ Core 3.x 에는 Java 8 이상이 필요 AssertJ Core 2.x 에는 Java 7 이상이 필요 2. 대표 메소드 기본: assertThat() isNotEqualTo, isEqualTo contains, isNotEmpty, isNotNull, isEmpty, isNull startsWith, endsWith 3. 예외 처리 @Test @DisplayName("IllegalArgument 예외 처리") void illegalArgs() { assertThatIllegalArgumentException().isThrownBy(() -> { throw new IllegalArgumentException("Illegal args!"); }).withMessage("%s!"..
Mockito & MockMvc @ExtendWith(MockitoExtension.class) class ItemRegisterControllerTest { @InjectMocks private ItemRegisterController itemRegisterController; @Mock private ItemRegisterService itemRegisterService; private MockMvc mockMvc; private ItemSaveForm saveForm; private ItemDTO itemDTO; ObjectMapper mapper = new ObjectMapper(); @Before public void initAll(){ mapper = new ObjectMapper(); mapper.setVisibility(..
HTTP 응답코드 1. 400대 에러 - 400(Bad Request) 서버가 클라이언트의 요청을 이해하지 못할 때 발생. (잘못된 문법, Method, header, 내용누락등) - 401(Unauthorized): 권한 없음(Authentication관련) - 403(Forbidden): 엑세스 금지 (Authorization 관련) - 404(Not Found): 클라이언트가 요청한 문서를 찾지 못함. - 405(Method not allowed): 메소드 매칭이 되지 않을때 -406(Not Acceptable): 클라이언트가 Accept-*헤더에 지정한 항목 관해 처리할 수 없음. - 415( : 지원되지 않는 형식의 요청이라 서버가 승인 거부. 2. 500대 에러 - 500(Internal Server Error..
스프링 테스트중 에러 1. 첫번째 에러 java.lang.AssertionError: Status expected: but was: - @Getter가 없어서 자주 발생하는 에러라고 한다. 이 경우에는 DTO에 @Getter의 부재로 Jackson라이브러리의 직열화/역질렬화에서 오류가 생겼다. (Jackson라이브러리가 response를 보낼때 DTO를 직렬화 시키는데 Getter의 부재로 그러지 못하여 406 Not Acceptable에러가 나왔다.) 2. 두번째 에러 Strict stubbing argument mismatch. Entity를 테스트용으로 만들어서 스터빙 했지만 리포지토리에서 돌아오는 엔티티는 실제상황에서 내가 서비스 코드에 주입하여 JPA 로 보낸 엔티티와 다르다. 그래서 미스매치. 이 경우 내가 제작한..