**메소드의 실행에 따른 상태 변화를 테스트
**하기 위해 given-when-then 세 구조로 이루어진 패턴이다.
주어진 상태(given) → 대상의 행위로 상태 변화가 생김(when) → 실행 후 기대하는 상태로 완료(then)
메소드를 텅 빈 stub 상태로 불러오고 실행 결과를 조작할 상태를 지정한다.
given(testRepository.findById(mockId)) // 이 메소드를 불러와서
.willReturn(Optional.empty()) // 이 상태로 조작한다
mockito에서는 given 단계에서 실행해야 할 **메소드의 이름을 when으로 두어서 헷갈릴 여지
**가 있다.
이때문에 BDDMockito에서는 **기능은 동일
**하지만 **메소드의 이름을 given으로 두어서 가독성
**을 높였다.
given으로 정해진 상태를 테스트하기 위해 상태 변화를 가한다. (즉, 메서드를 실행시킴)
Executable executable = () -> testService.execute(mockId);