본문 바로가기

Dev

(2)
Lombok @Builder.Default JPA 강의를 듣던 중 작은 난관에 봉착했습니다. 하라는 대로 다 했는데 NPE가 뜬것입니다. 이리 보고 저리 봐도 잘못된 것이 없는데 왜 이럴까... IDE의 문제가 아닐까.. 컴파일러의 문제가 아닐까... 했지만 문제는 @Builder 요 녀석에게 있었습니다. @Builder 어노테이션을 사용해서 객체를 만들었는데요, 아니글쎄 디폴트 값을 넣어준 필드 변수가 계속 null 이라는 겁니다. 찾아보니 .builder().build(); 로 생성되는 객체의 필드 변수는 모두 기본값 (0 / null / false) 이 세팅이 됩니다. 디폴트 값으로 뭘 줬든지 간에요. 고맙게도 Lombok v1.16.16 버전부터 @Builder.Default 란 어노테이션이 생겼습니다. 디폴트 값 설정이 필요한 필드 변수..
[Test][JUnit 4, 5] @Before, @BeforeClass, @BeforeEach, @BeforeAll 신입 기술 교육 때 JUnit을 사용해서 테스트 코드를 짜다가 @Before 라는 어노테이션을 알게 되었습니다. 이 어노테이션이 붙으면 @Test 어노테이션이 붙은 메소드가 실행되기 전에 먼저 실행됩니다. 그래서 보통 @Before public void setUp() { //setup before testing } 이런 식으로 많이 쓰더군여. 근데 또 @BeforeClass 란 어노테이션도 있댑니다. 근데 또 @BeforeEach 도 있고 @BeforeAll 도 있다네요. 그래서 이번 글에서는 얘들을 한 번 간단히 비교해볼까 합니다. 1. @Before 공식 문서 @Before 어노테이션은 JUnit 4에 있는 어노테이션입니다. 역할은 위에서 말했듯이 간단합니다. @Test 메소드보다 먼저 실행됩니다. ..