전체 글
(41)

JUnit 5 Parameterized Tests 사용하기
혹시 테스트 코드를 작성할 때 아래와 같은 중복되는 코드를 작성하고 계신가요? @Test @DisplayName("User 생성 name 2자 미만 예외처리") void createUserException01() { IllegalArgumentException e = assertThrows(IllegalArgumentException.class, () -> new User(VALID_EMAIL, "q", password)); assertThat(e.getMessage()).isEqualTo(NAME_NOT_MATCH_MESSAGE); } @Test @DisplayName("User 생성 name 10자 초과 예외처리") void createUserException02() { IllegalArgumentE..
Java
2019. 12. 28. 19:33
우아한테크코스 레벨3 회고
레벨3(9/17~11/15)가 끝난지도 벌써 11일이 지났다. 방학 동안 실컷 놀다가 뒤늦게 회고를 쓰는 내 자신이 부끄럽지만 할 건 해야지 😅 지난 두 달간 배운 것들 우아한테크코스에서 레벨3 미션으로 진행한 것은 다음과 같다. 1~2주: HTTP 이해 - 웹 서버 구현 3~4주: MVC 프레임워크 5~6주: JDBC 라이브러리 7~9주: DI 프레임워크 이 과정을 통해서 네트워크, 자바, 프레임워크 만들기, 스프링, 약간의 DB 등.. 정말 많은 것을 배웠다. 항상 애플리케이션만 만들다가 프레임워크를 만드는 입장이 되어보니 고려해야 하는 부분이 달라서 이 과정이 쉽진 않았지만 재미있었고 스프링에 대한 이해도도 높아지게 되었다. 특히 DispatcherServlet과 ArgumentResolver, D..
우아한테크코스
2019. 12. 28. 19:32
TDD의 장점은 무엇일까?
한참 TDD를 공부할 때 A가 물었다. A: TDD가 뭐에요? 왜 써야 하죠? 나: TDD는 테스트 코드를 먼저 작성하고 프로덕션 코드를 작성하는…. (중략) 설계 기법이고요. ~~한 장점이 있습니다. A: 어? 그거 테스트 코드 작성했을 때의 장점 아니에요? 먼저 프로덕션 코드 작성하고 테스트 코드 작성하면 되지 않아요? 저는 테스트 코드 작성은 필수지만, TDD는 안 해도 된다고 생각해요. '어 그러네..? 분명 TDD만의 장점이 있는데….' 나는 할 말을 잃었다. 왜 쓰는 걸까? 그 당시 나는 TDD의 장점을 이렇게 말했다. 피드백이 빠르다. 변화에 대한 두려움을 줄여준다. (리팩토링이 편하다) TDD를 하면 코드 복잡도가 떨어진다. 디버깅 시간을 줄여준다. 동작하는 문서 역할을 한다..
Test
2019. 12. 28. 19:28
자바 리플렉션이란?
작년 이맘때 궁금하지만 어려워서 넘어갔던 기술들이 있었습니다. 대표적으로 엘라스틱 서치와 리플렉션이 있었는데 최근에 하나씩 공부하면서 지난번과 달리 비교적 쉽게 체득할 수 있었는데요. 그 이유는 학습 방법의 변화 덕분입니다. 작년에 리플렉션을 공부할 때는 무작정 개념과 사용방법만 익히려고 했는데 이번에는 Why 에 초점을 맞춰서 공부했더니 더 쉽게 이해하고 활용을 잘할 수 있게 되었습니다. '이 기술은 왜 나왔을까? 왜 사용할까?' 를 이해하는 것은 중요합니다. 그래서 작년의 저와 같은 사람에게 도움이 되었으면 해서 리플렉션이 무엇인지 정리를 해보기로 했습니다. 리플렉션의 사용방법은 다루지 않습니다. 사용 방법은 아래 링크를 추천합니다 https://www.baeldung.com/java-reflecti..
Java
2019. 12. 28. 19:06