diff options
author | Niek Haarman <haarman.niek@gmail.com> | 2018-12-31 11:17:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-31 11:17:57 +0100 |
commit | a8c0688ea6b8e4b97a7cc41a9ec3bc03e2726634 (patch) | |
tree | cd197a0a75630806d5cb4958d027962d1076ff55 | |
parent | ec75b8aca66a872234aaec9a55ea34e62958c225 (diff) | |
parent | a8072cb3a362819ed98323f23849865b7fcf883d (diff) | |
download | mockito-kotlin-a8c0688ea6b8e4b97a7cc41a9ec3bc03e2726634.tar.gz |
Merge pull request #318 from dpreussler/2.x
#317 coroutines verify with verification mode
-rw-r--r-- | mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/Verification.kt | 10 | ||||
-rw-r--r-- | mockito-kotlin/src/test/kotlin/test/CoroutinesTest.kt | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/Verification.kt b/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/Verification.kt index bbc8625..b52e61e 100644 --- a/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/Verification.kt +++ b/mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/Verification.kt @@ -56,6 +56,16 @@ fun <T> verifyBlocking(mock: T, f: suspend T.() -> Unit) { /** * Verifies certain behavior happened at least once / exact number of times / never. * + * Warning: Only one method call can be verified in the function. + * Subsequent method calls are ignored! + */ +fun <T> verifyBlocking(mock: T, mode: VerificationMode, f: suspend T.() -> Unit) { + val m = Mockito.verify(mock, mode) + runBlocking { m.f() } +} +/** + * Verifies certain behavior happened at least once / exact number of times / never. + * * Alias for [Mockito.verify]. */ fun <T> verify(mock: T, mode: VerificationMode): T { diff --git a/mockito-kotlin/src/test/kotlin/test/CoroutinesTest.kt b/mockito-kotlin/src/test/kotlin/test/CoroutinesTest.kt index 8f67904..86d35b2 100644 --- a/mockito-kotlin/src/test/kotlin/test/CoroutinesTest.kt +++ b/mockito-kotlin/src/test/kotlin/test/CoroutinesTest.kt @@ -138,6 +138,16 @@ class CoroutinesTest { } @Test + fun verifyAtLeastOnceSuspendFunctionCalled_verifyBlocking() { + val m = mock<SomeInterface>() + + runBlocking { m.suspending() } + runBlocking { m.suspending() } + + verifyBlocking(m, atLeastOnce()) { suspending() } + } + + @Test fun verifySuspendMethod() = runBlocking { val testSubject: SomeInterface = mock() |