<도메인>
src > main > java > hello.hellospring 폴더 하위에 domain 패키지를 생성해 그 아래에 Member class를 생성한다.
<리포지토리>
동일한 폴더 하위에 repository 패키지를 생성해 그 아래에 MemberRepository interface를 생성한다.
** null로 반환되는 것을 Optional로 반환한다.
구현체를 생성하기 위해 동일한 repository 패키지 폴더 하위에 MemoryMemberRepository class를 생성한다.
null이 반환될 가능성이 있으면 Optional로 감싸준다 => 클라이언트에서 작업을 할 수 있게 된다.
findAny(): 하나라도 있으면 반환하는 것
main 메소드나 컨트롤러로 테스트하면 어려운 점이 있음
=> JUnit5 프레임워크 활용해서 테스트 케이스 작성하기!
test case의 장점은 같이 돌릴 수 있다는 것!
모든 테스트를 같이 돌릴 수도 있고, 따로 돌릴 수도 있다.
테스트는 순서와 관계없이 실행된다. (순서가 보장되지 않는다.)
** 테스트를 먼저 만들어 놓은 후 개발하는 것:
TDD (테스트 주도 개발)