본문 바로가기
TIL

내일배움캠프 10주차 Spring Mock Object

by 율량동박씨 2024. 6. 17.

오늘의 키워드

  • Mock Object
  • 테스트
  • 시뮬레이션

오늘의 내용

Mock Object는 소프트웨어 테스트에서 의존성 있는 객체를 시뮬레이션하기 위해 사용되는 객체이다. Mock 객체를 사용하면 실제 객체를 대체하여 특정 동작을 흉내 낼 수 있으며, 이를 통해 테스트 범위를 넓히고, 외부 의존성을 줄이며, 예외 상황을 쉽게 재현할 수 있다

주요 특징 :

  • 의존성 격리: 다른 시스템이나 모듈과의 의존성을 격리하여 단위 테스트를 쉽게 수행할 수 있다
  • 동작 정의: 메서드 호출 시 특정 값을 반환하거나, 예외를 던지는 등의 동작을 미리 정의할 수 있다
  • 호출 검증: 메서드가 특정 횟수만큼 호출되었는지, 올바른 인수로 호출되었는지 등을 검증할 수 있다

오늘의 회고

 개인프로젝트 제출날인데 주말에 발생한 오류가 어떻게 해도 해결이 안됐는데 오늘 튜터님을 찾아가서 한 2-30분 만에 해결이 되는 바람에 정말 허무감이 많이 몰려왔다

mockMvc = MockMvcBuilders.webAppContextSetup(context)
			.apply(springSecurity(new MockSpringSecurityFilter()))
			.build();

new MockSpringSecurityFilter()이 부분이 빠져있다보니 테스트 코드를 돌리는데 시큐리티 필터에서 막혀서 코드가 계속 오류가 났던 것이다 하....