javascalamockito

Mockito doReturn: ambiguous reference to overloaded definition


I'm trying to port a Scala system to Mockito2. There are a few test cases that use doReturn and now in Mockito 2.18.0 I get this error:

Error:(34, 5) ambiguous reference to overloaded definition,
both method doReturn in object Mockito of type (x$1: Any, x$2: Object*)org.mockito.stubbing.Stubber
and  method doReturn in object Mockito of type (x$1: Any)org.mockito.stubbing.Stubber
match argument types (com.twitter.util.Future[Unit])
doReturn(Future.Unit).when(f.adapterSpy).myFunction(userData, Some(offerId), Always)

Looking in Mockito.java, doReturn is really overloaded like that:

public static Stubber doReturn(Object toBeReturned) 
public static Stubber doReturn(Object toBeReturned, Object... toBeReturnedNext)

How on Earth is this not always ambiguous? How do I make it compile?

Thanks


Solution

  • There is a ticket in the Scala backlog on it. see https://github.com/scala/bug/issues/4775