https://martinfowler.com/articles/mocksArentStubs.html
- Dummy
- 아무 것도 하지 않는 깡통 객체
- Fake
- 단순한 형태로 동일한 기능은 수행하나, 프로덕션에서 쓰기에는 부족한 객체(ex. FakeRepository)
- Stub
- 테스트에서 요청한 것에 대해 미리 준비한 결과를 제공하는 객체
- 그 외에는 응답하지 않는다.
- Spy
- Stub이면서 호출된 내용을 기록하여 보여줄 수 있는 객체
- 일부는 실제 객체처럼 동작시키고 일부만 Stubbing할 수 있다.
- Mock
- 행위에 대한 기대를 명세하고, 그에 따라 동작하도록 만들어진 객체
Stub
- 상태 검증(State Verification)
- 예를들어 어떤 메소드 어떤 기능을 요청했을 때 이런 기능을 요청하고 보니깐 이 Stub이 상태가 어떻게 바뀌었어
- 그래서 get으로 해서 상태를 검증
- 내부적인 상태가 어떻게 바뀌었어에 대한 거에 초점이 맞춰져 있음
Mock
- 행위 검증(Behavior Verification)
- when -> parameter N개를 요청했을 때 객체(any)를 리턴할꺼야
- 메서드 어떤게 실행될지 그런 것인듯
'Spring관련 기술 > 테스트코드' 카테고리의 다른 글
BDD Mockito (0) | 2023.12.24 |
---|---|
@Mock, @Spy, @InjectMocks (0) | 2023.12.24 |
Mockito로 Stubbing하기 (0) | 2023.12.24 |
Presentation Layer 테스트 (2) (0) | 2023.12.22 |
Presentation Layer 테스트(1) (0) | 2023.12.19 |