Taiwan Kotlin User Group

Logo

Taiwan Kotlin User Group 的網站,在台灣推廣 Kotlin 程式語言,舉辦相關活動。如果對 Kotlin 有興趣,想要多瞭解一些,歡迎來我們的社群一起聚會!

View My GitHub Profile

Kotlin Mockk 簡介

Kotlin Mockk 是一個協助在測試環境中

製造 test double 的框架

用法

mock

宣告 Car 的 mock 物件 car

希望 car 收到 drive(Direction.NORTH)

固定回傳 Outcome.OK

val car = mockk<Car>()

every { car.drive(Direction.NORTH) } returns Outcome.OK

patial mock

宣告 Car 的 mock 物件 car

希望 car 收到 drive(Direction.NORTH)

固定回傳 Outcome.OK

如果收到 drive(Direction. SOUTH)

行為和原本 Car 類別一樣

val car = mockk<Car>()

every { car.drive(Direction.NORTH) } returns Outcome.OK
every { car.drive(Direction.SOUTH) } answers { callOriginal() }

spy

宣告 Car 的 spyk 物件 car

在程式執行完之後

確認是否被呼叫 drive(Direction.NORTH)

val car = spyk(Car())
car.drive(Direction.NORTH)
verify { car.drive(Direction.NORTH) }

參考資料


想看更多範例嗎?

可以看看

或加入 kotlin.tips 的 Kotlin 讀書會