aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiek Haarman <haarman.niek@gmail.com>2018-12-31 11:17:57 +0100
committerGitHub <noreply@github.com>2018-12-31 11:17:57 +0100
commita8c0688ea6b8e4b97a7cc41a9ec3bc03e2726634 (patch)
treecd197a0a75630806d5cb4958d027962d1076ff55
parentec75b8aca66a872234aaec9a55ea34e62958c225 (diff)
parenta8072cb3a362819ed98323f23849865b7fcf883d (diff)
downloadmockito-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.kt10
-rw-r--r--mockito-kotlin/src/test/kotlin/test/CoroutinesTest.kt10
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()