Mockito BDD 스타일 API

The Java Mockito BDD 스타일 API

백기선님의 강의인 The Java 애플리케이션을 테스트하는 다양한 방법을 듣고 공부한 내용을 정리한 글

BDD 스타일이란?

BDD : Behaviour-Driven Development

애플리케이션이 어떻게 행동해야 하는지에 대한 공통된 이해를 구성하는 방법으로, TDD에서 창안했다.

테스트 행동에 관한 스팩이 핵심

  • Title
  • Narrative
    • 어떤 스터디에 참가하는 사람으로써 (As a) / 스터디에 참가하고 싶다.(I want) / 그래서 갈 수 있다는 의사를 표현한다. (so that)
  • Acceptance criteria
    • Given / When / Then

Mockito에서도 이러한 BDD 스타일을 제공해준다.

그런데 앞서 배운 when의 경우 BDD에서 given에 해당하는데 메소드 이름이 좀 그렇다.

그래서 Mockito에서 given이라는 메소드를 제공하며 행위는 when가 동일하다.

// Before
when(service.findById(1)).thenReturn(user);

// After
given(service.findById(1)).willReturn(user);

구조는 거의 유사하다.

또한 앞에서 배운 verify 또한 BDD의 then으로 바꿀 수 있다.

// Before
verify(service,times(1)).notify(any());

// After
then(service).should(times(1)).notify(study);

이렇게 간단하게 BDD 스타일로 작성하는 것이 가능하다.

BDD 역시 Principle이기 때문에 반드시 이렇게 해야한다는 것은 아니다.

Reference

백기선님 인프런 강의 더 자바, 애플리케이션을 테스트하는 다양한 방법



© 2022. by minkuk

Powered by minkuk