rosieblue
article thumbnail
[JUnit] assertThrows 메소드
🧰 Back-end/SpringBoot 2023. 3. 16. 11:04

오늘 분석할 코드는 아래와 같다. 아래 코드의 정확한 원리가 궁금해서 assertThrows에 대해 정리해보고자 한다. assertThrows는 JUnit에서 제공하는 테스트 메소드 중의 하나이다. //memberService.join(member2)하면 IllegalStateException이 일어나야한다는 뜻 IllegalStateException e= Assertions.assertThrows(IllegalStateException.class, ()->memberService.join(member2)); assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); 일단 JUnit에서 제공해주는 메소드라고 하니 JUnit이 어떤 프레임워크인지만 아주아주 짧게 정..

article thumbnail
[JAVA] Optional의 isPresent / ifPresent / ifPresentOrElse 메소드

Optional을 따로 공부한 적이 없어서 대충 오류만 봤을 때 여태껏 isPresent이랑 ifPresent가 같은 애인줄 알았다 .. 바부 그래서 isPresent()안에 인자로 왜 람다식을 써주는지 이해가안됐다..하지만 다른 메소드였다는것 ㅋ.. 포스트가 너무 짧음 주의 암튼 오늘은 Optional이 뭔지 아주 짧게 살펴보고 isPresent/ifPresent/ifPresentOrElse 메소드에 대해 살펴보도록 하겠다. Optional이란? 존재할 수도 있지만 안 할 수도 있는 객체, 즉, “null이 될 수도 있는 객체”을 감싸고 있는 일종의 래퍼 클래스이다. 원소가 없거나 최대 하나 밖에 없는 Collection이나 Stream이라고 생각해도 좋다. null 때문에 생기는 귀찮음을 핸들링하기 ..

article thumbnail
[JAVA] Stream 이란?

SpringBoot로 Java를 오랜만에 사용하게 되었는데 아래 코드가 원리가 뭔지가 이해가 안돼서 Java 문법을 공부해보았다. 이번 포스트에서는 Stream의 개념을 다룬 후 아래 코드의 동작 원리를 분석해볼 것이다. public Optional findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } 일단 개념부터 짚고 넘어가보자. Stream의 용도와 구조 Java8에서부터 지원한 기능으로, 일종의 반복문을 간단하게 나타낸 것이라고 할 수 있다. Stream은 컬렉션이나 배열, 리스트 등에 있는 값들을 참고하여 그 값들에 대해서 연산을 해주는..