많은 TDD 프레임워크 중에 현재도 Mockito를 많이 쓴다.
Mockito도 많이 쓰지만. private와 protected를 테스트할 때는 powerMock을 애용하기도 한다고한다.
둘의 내용을 다 다루면 좋겠지만, 일단 저는 대중적인 TDD 프레임워크인 Mockito에 대해서 쓰도록 하겠습니다.
Mockito 프레임워크의 차별점은 무엇인가?
1. 테스트 그 자체에 집중한다. 테스트의 행위와 반응(interaction)에만 집중해서 테스트 메소드를 작성할 수 있게 한다.
2. 테스트 스텁을 만드는 것과 검증을 분리시켰다.
3. Mock 만드는 방법을 단일화했다.
4. 테스트 스텁을 만들기 쉽다.
5. API가 간단하다.
6. 프레임워크가 지원해주지 않으면 안 되는 코드를 최대한 배제했다. record( ), replay( ) 메소드도 없고 에일리언 코드 같은 control/context 객체도 없다.
7. 실패 시에 발생하는 에러추적(stack trace)이 깔끔하다. 특정 API나 라이브러리를 모르면 이해할 수 없는 부분을 제외했다.
일단 책에 써져있는 mockito 프레임워크의 차별점
Mockito의 기본 사용법은 CreateMock, Stub, Exercise, Verify가 있다.
CreateMock : 인터페이스에서 해당하는 Mock객체를 만든다.
Stub : 테스트에 필요한 Mock객체의 동작을 지정한다.
Exsercise : 테스트 메소드 내에서 Mock객체를 사용한다.
Verify : 메소드가 예상대로 호출됐는지 검증한다.
BDD(행위 주도 개발)를 지원하는 Mockito
Mockito는 Given , When, Then으로 시나리오를 만들어준다.
이상입니다.
더 깊은 내용을 알고 싶으면.
https://repo.yona.io/doortts/blog/issue/5
현재 글의 출처인 이곳의 pdf파일을 보세요! ㅎㅎ
'JAVA > SpringTest' 카테고리의 다른 글
TDD에 대해서 다시 정리 해본다. - Mock (0) | 2020.03.16 |
---|---|
TDD에 대해서 다시 정리 해본다. - 테스트 케이스 위치 및 방법 (0) | 2020.03.16 |
TDD에 대해서 다시 정리 해본다. - hamcrest (0) | 2020.03.13 |
TDD에 대해서 다시 정리 해본다. - junit4 (0) | 2020.03.13 |
TDD에 대해서 다시 정리 해본다. - 서론- (0) | 2020.03.13 |