ページ内ナビ
概要
MockKはKotlin向けのmocking libraryです。mockkでtest doubleを作り、everyで返却値やbehaviorを定義し、verifyで呼び出しを検証します。coroutine向けAPI、annotation、JUnit integration、Android向けartifactも提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
strict mockへbehaviorを定義してinteractionを検証する
mockk<T>()でmockを作成し、every { ... } returns ...でbehaviorをstubし、verify { ... }で呼び出しを確認できます。既定ではstrict mockのため未定義呼び出しを明示的に扱えます。
出典:[2]
coroutine・annotation・Android向けAPIを使う
suspend function向けにcoEveryとcoVerifyがあり、@MockK等のannotationやJUnit extensionも利用できます。Android unit/instrumented test向けには専用artifactがあります。
出典:[2]
向いている用途
Kotlinのunit testでdependency interactionを明示的に検証したい場合に向く
serviceやrepository等のcollaboratorをtest doubleへ置き換え、戻り値だけでなく呼び出し条件や回数までKotlin DSLで検証したい用途に向きます。
出典:[2]
導入前の確認
inline functionや一部JDK機能には制約がある
READMEはinline functionをmockできないこと、JDK 16+でmockkStaticやspyにaccess制約が出る場合があること、JDK 21+でdynamic agent警告が出ることを既知issueとして挙げています。
出典:[2]
spyとsuspend functionの組み合わせを避けて検証する
READMEはspyでsuspending functionを扱うと予期しない結果になる既知issueを示しています。coroutine testではmock中心の構成を優先し、該当caseはproject内で明示的にtestします。
出典:[2]
参考にした公式資料
- [1]mockk/mockk repository(2026-09-30)
- [2]MockK v1.14.11 README(2026-09-30)
- [3]MockK v1.14.11 gradle.properties(2026-09-30)
- [4]MockK v1.14.11 release(2026-09-30)
- [5]MockK Apache 2.0 license(2026-09-30)
編集部からの補足
MockK 1.14.11はKotlin向けmocking libraryで、mockは既定でstrictです。everyでbehaviorを定義し、verifyで呼び出しを検証できます。coroutine向けcoEvery/coVerifyやAndroid artifactもありますが、inline functionはmockできないなどの制約があります。
3ステップで試す
- 1
MockK 1.14.11を追加
Kotlin JVM test dependencyとしてstable版を追加します。Androidでは用途に応じてmockk-androidを選びます。
testImplementation("io.mockk:mockk:1.14.11") - 2
behaviorをstub
strict mockを作成し、testで必要な呼び出しだけbehaviorを定義します。
val service = mockk<Service>() every { service.load() } returns "ok" - 3
呼び出しをverify
対象methodを実行し、期待したinteractionが発生したことを確認します。
service.load() verify { service.load() }
成長
成長の推移 · 直近30日
5,760 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- argument-matchers
- chain-calls
- hacktoberfest
- kotlin
- matcher
- mock
- mocking-framework
- tdd
- testing
- verification
- Stars
- 5,760
- Forks
- 420
- Watchers
- 56
- Open Issues
- 296
- 所有者種別
- Organization
- 主要言語
- Kotlin
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/09/29
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- fake-indexeddb695 Stars
共通タグ 1件 · 共通カテゴリ 2件
Node.jsのテストでIndexedDB互換APIをメモリ上に再現する
JavaScript - RSpec117 Stars
共通タグ 1件 · 共通カテゴリ 2件
Rubyの振る舞いをexample・expectation・test doubleで記述し、CLIで実行するBDDテスト基盤
Ruby - Kotest4,789 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
spec style・assertion・property testingをKotlinのtest codeへまとめる
Kotlin - Jest45,464 Stars
共通タグ 2件 · 共通カテゴリ 2件
assertion・mock・watch・snapshot・worker isolationを一つのCLIへまとめるJavaScript testing framework
TypeScript - Vitest17,175 Stars
共通タグ 2件 · 共通カテゴリ 2件
Viteのtransform/configを共有しNode・DOM・Browser Modeを一つのtest frameworkで扱う
TypeScript - Mockito15,456 Stars
共通タグ 2件 · 共通カテゴリ 2件
Javaの依存先を模擬し、単体テストを小さく保つ
Java
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。