Java 2

java의 stream에 대하여. 책을 읽어도 이해 안되는거 나만...인가? Stream 동작방식 쉽게 설명해보기.

스트림은 '지연연산'을 한다. 지연연산이란 중간연산들이 아무리 많아도 최종 연산 코드가 나올 때까지 아무것도 하지 않는 것이다.val strings = listOf("apple", "banana", "cherry")val result = strings.asSequence() .filter { it.length > 5 } // 필터가 적용된 값을 지연 처리 = 아직 아무 연산도 하지 않음. .map { it.toUpperCase() } // 결과를 지연 처리 = 아직 아무 연산도 하지 않음. .toList() // 최종 연산. 최종연산이 등장했으니 실제로 연산을 시작한다. 스트림은 파이프라인이다.스트림 생성, 중간연산, 최종연산들을 연결하는 파이프라인..

[JUnit] Mockito.verify() 사용할 때 @Autowired vs @MockBean vs @SpyBean

verify() 용도 test 코드가 실행되는 동안 특정 메서드가 실행된 횟수등을 확인합니다. E.g. verify(mock, times(5)).someMethod("was called five times"); 사용하다보니 몇가지 주의사항이 있어서 글을 남깁니다. 아래 2가지 내용을 확인하세요. 빨리 확인해야한다면 '정리' 만 바로 확인하세요. 1. MockBean만 검증할 수 있다. 실무에서 이미 작성된 테스트코드에 추가로 verify() 검증을 추가해봅니다. 근데.. 에러가 발생합니다 Argument passed to verify() is of type PointService$$EnhancerBySpringCGLIB$$2aeafde9 and is not a mock! verify()로 전달된 매개변수..