본문 바로가기

TDD2

[TDD] Mock vs MockBean 의 비교 소프트웨어 개발에서 테스트는 신뢰할 수 있는 소프트웨어를 만들기 위해 필수적입니다. 특히 모듈화된 코드를 테스트하는 데는 Mock 객체를 통한 의존성 주입이 흔히 사용됩니다. 최근에는 Spring과 같은 프레임워크에서 제공하는 Mocking 기능을 활용하여 테스트를 보다 편리하게 수행할 수 있습니다. 이번 글에서는 Mock + InjectMocks와 MockBean + Autowired를 비교하며, 각각의 장단점과 적용 시기를 알아보겠습니다.  Mock + InjectMocks단위 테스트에서는 Mock + InjectMocks를 사용하고, 통합 테스트에서는 MockBean + Autowired를 사용하는 것이 일반적입니다.Mock + InjectMocksMockBean + AutowiredMockBean.. 2024. 5. 3.
[TDD] Test Doubles의 다섯 가지 요소 최근에 소프트웨어 개발 방법론 중 하나인 테스트 주도 개발(TDD)에 대한 흥미가 생겨, 이를 실제 프로젝트에 도입해보려고 학습 중입니다. 그 중에서도 테스트 더블(Test Doubles)에 대해 깊게 이해하고자 합니다. 테스트 더블은 TDD에서 핵심적인 역할을 수행하며, 이를 통해 단위 테스트와 통합 테스트를 보다 효과적으로 수행할 수 있습니다. 이번 글에서는 테스트 더블의 다섯 가지 요소에 대해 알아보겠습니다.  StubStub은 테스트 중에 호출되면 미리 정해진 답을 반환하는 형태를 말합니다.Stub은 상태를 검증하지 않고, 입력에 대한 출력이 발생하는지를 검증합니다.MockMock은 실제 객체의 동작을 모방하는 객체입니다. 메서드의 호출에 대한 기대를 명세하고, 미리 정의된 내용에 따라 동작했는지.. 2024. 5. 3.