목록2024/03/08 (2)
쌓고 쌓다
테스트 코드를 작성하는중에 문제가 발생했다. 먼저, 장소와 게시글의 관계는 1:N 관계이다. 다음의 테스트 코드를 보자. Location location = new Location(); location.setTitle("테스트 장소"); locationRepository.save(location); Poster poster = new Poster(); poster.setTitle("게시글1"); poster.setLocation(location); posterRepository.save(poster); Poster poster2 = new Poster(); poster2.setTitle("게시글1"); poster2.setLocation(location); posterRepository.save(post..
테스트 코드를 작성하던 중 NPE가 발생했다. List locationImages = location.getLocationImages(); for (LocationImage locationImage : locationImages) { imageStore.deleteLocationImage(locationImage); } get 메서드를 호출하여 반환받은 List를 탐색하는 코드이다. 여기서 반환 받은 컬렉션이 NULL이라면 난 NPE가 발생하지 않고 반복문만 돌지 않을거라 생각했었다. List를 탐색하는 로직이 존재할 수 있으니 엔티티의 List와 같은 컬렉션 필드는 new로 컬렉션을 초기화해주는 것이 좋다. 그리고 컬렉션을 초기화해주면 좋은 이유가 한가지 더 있다. 나중에 임의로 개발자가 초기화하게 된..