본문 바로가기

분류 전체보기47

@SpringbootApplication의 baseScanPackage 설정 이슈 이슈상황로컬에서 코드 수정하고 springboot 구동했을 때 애플리케이션은 띄워짐그런데 aws에 배포하니까 health 체크 실패하고 이벤트 수신도 못함Controller를 정의하여 /health api 호출 시 200응답 보내는 코드가 있음에도 health 체크 실패.AWS 설정에서 health 체크 path도 /health로 설정되어 있는 부분 확인하였음.이벤트 수신관련한 코드도 건드린적 없음.원인현재 패키지가 com.example.a 이고, com.domain에 있는 컴포넌트를 의존성주입 받을 일이 있어 @SpringbootApplication(scanBasePackages={"com.domain"})을 사용이 설정을 하고 Springboot 구동하니까 구동은 잘되는데, com.example.a .. 2024. 7. 13.
Mockito verify()에서 파라미터 까지 검증하고 싶은 경우 Junit5 + Mockito를 함께 사용하는 예제를 준비했습니다.배경Mockito 사용 시 특정 메서드가 수행됐는지 확인하기 위해 verify()를 사용하는 경우가 많다.보통 이런 식으로 많이 사용할 것이다.verify(mock).doSomething(any(Person.class)); 이 때 메서드에 전달되는 파라미터 값까지 동일한지 확인하고 싶다면 어떤 방법이 있을까?(any()로 검증하는건 타입만 확인하는 것이라 불안하다.)ArgumentMatcher로 검증하기ArgumentMatcher 를 implements 혹은 익명 객체로 생성하여 파라미터를 검증할 수 있다.verify(list, times(2)).add(argThat(new ArgumentMatcher(){ public boolea.. 2024. 5. 29.
java List.of에는 null이 포함될 수 없다. Java List.of() 에는 null이 요소로 포함될 수 없다.List.of()의 설명을 살펴보면 'Throws: NullPointerException - if an element is null' 리스트 요소가 null인 경우 NullPointerException을 발생한다고 명시되어있다. 위의 of()에서 호출하고 있는 ListN() 메서드의 구현을 살펴보면, Objects.requreNonNull()로 null 체크를 하고 있다. list.contains(null) 수행 시 NPE가 발생한다.추가로 List.of()로 생성된 불변리스트에 contains(null) 수행 시에도 NPE가 발생한다.이것도 코드 구현을 따라가보면 원인을 알 수 있다.contains() 내에서 indexOf() 라는 메서.. 2024. 5. 28.
Kotlin gradle plugin 의존 타입 (api, implemantation, compileOnly, runtimeOnly) 의존 타입 (Dependency types)에 대한 설명 타입 설명 언제 사용할까? api Used both during compilation and at runtime and is exported to library consumers. 컴파일, 런타임 시 모두 적용하고 싶을 때 사용함. 해당 라이브러리 사용자들에게 의존한 라이브러리가 노출됨. If any type from a dependency is used in the public API of the current module, use an api dependency. 의존하는 타입이 현재 모듈의 public API에 사용될 때. implementation Used during compilation and at runtime for the curre.. 2024. 4. 1.