티스토리 뷰
들어가며
- Kotlin 테스트를 작성하다 보면 singleton object 에 대한 Mocking이 필요한 경우가 있습니다.
- Kotlin Mock 라이브러리 Mockk 를 사용하여 object Mocking 방법에 대해서 알아보겠습니다.
해결방법
- Mockk 의 object Mocking 방법은 간단합니다.
mockkObject()
함수를 이용하여 대상 object (인스턴스)를 넣어준 뒤 일반 function mocking 방법 처럼 mocking을 적용하면 됩니다.- 테스트 후 mocking 해제를 원한다면
unmockkObject()
를 이용할 수 있습니다.
@Test
fun `object mocking 테스트`() {
mockkObject(AmountEstimator)
every { AmountEstimator.estimate(any()) } returns mockk<AmountEstimateResult>()
println(AmountEstimator.estimate("ssss"))
}
@AfterEach
fun afterEach() {
unmockkObject(PayDueDateEstimator)
}
- 자세한 Document 내용은 아래 위치에서 확인할 수 있습니다.
Mock singleton objects and static methods
Mock singleton objects and static methods # Mocking objects # When you need a singleton in Kotlin, you can use an object. These specialized classes will only ever have one instance, so you can’t mock them in the usual manner. Instead, MockK provides spec
notwoods.github.io
관련글
[Kotlin] Mockk 사용 시 확장 함수 Mocking 하는 방법
들어가며 Test Case를 작성하다 보면 테스트 하고자 하는 로직에 대해서 검증 로직과는 상관 없는 Extension Function 에 대해서 Mocking 을 해야 할 때가 있습니다. 저의 경우에는 확장 함수를 주로 아래
jinseongsoft.tistory.com
[kotlin] MockK 사용시 Multiple Method Call Verification 방법
들어가며 테스트 코드를 작성하는 중 mock class에 대하여 verify를 사용할 일이 있었는데 한 메서드에 대해서 여러번 호출을 하고 검증시에 각각의 호출에 대한 Parameter 를 검증하고자 했다. 아래와
jinseongsoft.tistory.com
반응형
'프로그래밍 > Kotlin' 카테고리의 다른 글
[Kotlin] Mockk 사용 시 확장 함수 Mocking 하는 방법 (0) | 2021.12.06 |
---|---|
[kotlin] MockK 사용시 Multiple Method Call Verification 방법 (0) | 2021.12.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 자바
- JavaFX 종료
- 배낭 여행
- springboot
- 스프링부트
- 방통대 과제물
- 인텔리제이
- intelij
- 일본 여행
- 일본여행
- windows
- 일본 자전거 여행
- git
- JavaFX Table View
- Java UI
- 이펙티브
- 이펙티브 자바
- JavaFX Window Close
- 배낭여행
- 텐트
- effectivejava
- JavaFX 테이블뷰
- 자전거
- effective java
- 자전거 여행
- JavaFX
- 일본 배낭여행
- 이펙티브자바
- java
- TableView
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함