본문 바로가기
반응형

Mockito5

[Java] Mockito 사용법 (5) - BDD 스타일 API (+ BDD란?) 이번 포스팅에선 Mockito가 지원하고 있는 BDD 스타일 API에 대해 알아보겠습니다. 먼저 BDD에 대한 개념부터 알아보고 가겠습니다. BDD (Behavior Driven Development)란? TDD (Test Driven Development)는 "테스트"를 기준으로 하는 개발 방법론입니다. BDD (Behavior Driven Development)는 "행동"을 기준으로 하는 개발 방법론입니다. TDD를 참고했다고 하네요. 위키피디아에 나와있는 BDD 설계 방법입니다. 테스트할 때 Title, Narrative까진 사용하지 않고 Acceptance criteria만 사용합니다. Title An explicit title. Narrative A short introductory sectio.. 2022. 9. 6.
[Java] Mockito 사용법 (4) - 검증 (Verify) 이번 포스팅에선 Mockito를 이용해 스터빙한 메소드가 제대로 실행이 됐는지 확인해보는 메소드에 대해서 알아보겠습니다. 스터빙한 메소드를 검증하는 방법 verify 메소드를 이용해서 스터빙한 메소드가 실행됐는지, n번 실행됐는지, 실행이 초과되지 않았는지 등 다양하게 검증해볼 수 있습니다. verify(T mock, VerificationMode mode) 위와 같은 형태로 쓰며 VerificationMode는 검증할 값을 정의하는 메소드입니다. 메소드명 설명 (테스트 내에서~) times(n) 몇 번이 호출됐는지 검증 never 한 번도 호출되지 않았는지 검증 atLeastOne 최소 한 번은 호출됐는지 검증 atLeast(n) 최소 n 번이 호출됐는지 검증 atMostOnce 최대 한 번이 호출됐는.. 2022. 9. 6.
[Java] Mockito 사용법 (3) - 스터빙 (Stubbing) (OngoingStubbing, Stubber) 이번 포스팅에선 스터빙(Stubbing)의 개념과 Mockito에서 스터빙을 하는 방법에 대해 알아보겠습니다. 스터빙(Stubbing)이란? Mockito에서 스터빙을 알아보기 전에 개념부터 알아보겠습니다. Stubbing은 stub이라고도 하며 토막, (표수표 등에서 한 쪽을 떼어 주고) 남은 부분이라는 뜻을 가지고 있습니다. 위키피디아에 정의된 내용은 다음과 같습니다. (https://en.wikipedia.org/wiki/Test_stub) 테스트 스텁(Test Stub)은 테스트 호출 중 테스트 스텁은 테스트 중에 만들어진 호출에 대해 미리 준비된 답변을 제공하는 것 만들어진 mock 객체의 메소드를 실행했을 때 어떤 리턴 값을 리턴할지를 정의하는 것이라고 생각하시면 됩니다. Mockito에선 어.. 2022. 9. 6.
[Java] Mockito 사용법 (2) - 설정, Mock 생성 (@Mock, @Spy, @InjectMocks) 이번 포스팅에선 Mockito 설정하는 방법과 mock 객체 생성관련 어노테이션에 대해 알아보겠습니다. Mockito 설정 mockito 최신 버전은 jcenter에 올라와있으니 설정한 후에 의존성을 추가하면 됩니다. repositories { jcenter() } // maven org.mockito mockito-android 3.7.7 pom // gradle implementation 'org.mockito:mockito-android:3.7.7' 라이브러리 설정 후 Mockito를 사용하려면 테스트 클래스 위에 @ExtendWith(MockitoExtension.class)를 붙혀줘야합니다. @ExtendWith(MockitoExtension.class) public class mockCreat.. 2022. 9. 6.
[Java] Mockito 사용법 (1) - Mock이란?, Mockito 소개 이번 포스팅에선 Mock을 만들고 여러 기능들을 제공하는 Mock 프레임워크 Mockito에 대해 알아보겠습니다. Mock이란? Mockito에 대해 설명하기 전에 Mock에 대한 개념부터 설명하겠습니다. Mock은 한글로 "모의, 가짜의"라는 뜻으로 테스트할 때 필요한 실제 객체와 동일한 모의 객체를 만들어 테스트의 효용성을 높이기 위해 사용합니다. 위키에 정의된 Mock은 다음과 같습니다. 모의 객체(Mock Object)란 주로 객체 지향 프로그래밍으로 개발한 프로그램을 테스트할 경우 테스트를 수행할 모듈과 연결되는 외부의 다른 서비스나 모듈들을 실제 사용하는 모듈을 사용하지 않고 실제의 모듈을 "흉내"내는 "가짜" 모듈을 작성하여 테스트의 효용성을 높이는 데 사용하는 객체이다. 사용자 인터페이스(.. 2022. 9. 6.
반응형