Skip to content

Commit e0d2b0d

Browse files
committed
Accept any Answer<*> in OngoingStubbing<T>.doAnswer
1 parent 3bae5f1 commit e0d2b0d

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

mockito-kotlin/src/main/kotlin/com/nhaarman/mockitokotlin2/Mockito.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ infix fun <T> OngoingStubbing<T>.doThrow(t: KClass<out Throwable>): OngoingStubb
230230
fun <T> OngoingStubbing<T>.doThrow(t: KClass<out Throwable>, vararg ts: KClass<out Throwable>): OngoingStubbing<T> = thenThrow(t.java, *ts.map { it.java }.toTypedArray())
231231

232232
infix fun <T> OngoingStubbing<T>.doAnswer(answer: (InvocationOnMock) -> T?): OngoingStubbing<T> = thenAnswer(answer)
233-
infix fun <T> OngoingStubbing<T>.doAnswer(answer: Answer<T>): OngoingStubbing<T> = thenAnswer(answer)
233+
infix fun <T> OngoingStubbing<T>.doAnswer(answer: Answer<*>): OngoingStubbing<T> = thenAnswer(answer)
234234

235235
fun mockingDetails(toInspect: Any): MockingDetails = Mockito.mockingDetails(toInspect)!!
236236
fun never(): VerificationMode = Mockito.never()!!

mockito-kotlin/src/test/kotlin/test/MockitoTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,19 @@ class MockitoTest : TestBase() {
513513
expect(result).toBe("result")
514514
}
515515

516+
@Test
517+
fun testMockStubbing_doAnswer_returnsSelf() {
518+
/* Given */
519+
val mock = mock<Methods> {
520+
on { builderMethod() } doAnswer Mockito.RETURNS_SELF
521+
}
522+
523+
/* When */
524+
val result = mock.builderMethod()
525+
526+
/* Then */
527+
expect(result).toBe(mock)
528+
}
516529

517530
@Test
518531
fun testMockStubbing_doAnswer_withArgument() {

0 commit comments

Comments
 (0)