위키득계정 ↗
기술

MockK

MockK기술
분야
객체 대역
중심 언어
코틀린
작업
응답 설정과 호출 검증
선택
일반 대역과 스파이
MockK는 코틀린 테스트에서 객체의 동작을 설정하고 호출을 검증하는 대역 라이브러리다. 일반 메서드와 중단 함수 등을 위한 표현을 제공하며 실제 동작을 유지하는 스파이도 다룬다.

행동 설정과 확인

대역이 특정 호출에 어떤 결과를 내야 하는지 먼저 설정하고 테스트 대상을 실행한다. 이후 호출과 인자가 기대한 내용인지 확인한다. MockK의 기본 대역은 동작을 명시하는 엄격한 방식이며 허용적인 설정도 선택할 수 있다. 반환값 설정 자체가 호출 검증까지 완료한 것은 아니다.

코틀린 기능과의 연결

중단 함수를 다루는 설정과 검증 API를 제공한다. 객체나 최상위 함수 등 특별한 형태를 대역으로 다루는 기능도 있지만 적용 범위와 정리 과정을 이해해야 한다. 스파이는 실제 메서드를 실행할 수 있어 순수한 대역보다 부작용 범위가 넓다. 공유 대역을 정리할 때 병렬 실행 중인 다른 검사에 영향을 주지 않도록 설계한다.

환경 제약과 검사 목적

인라인 함수는 대역으로 만들 수 없다는 제약이 있다. JDK의 접근 제한과 에이전트 정책도 일부 기능의 동작에 영향을 줄 수 있으므로 대상 환경의 안내를 확인한다. 모든 내부 호출을 고정하면 리팩터링에 취약해질 수 있다. 대역 검사로 로직을 좁혀 확인하되 실제 의존 서비스와의 호환성은 통합 검사로 보완한다.

관련 문서

Kotest / Mockito / Moq / NSubstitute