У меня есть код, имеющий дело с HTTP-запросами, и я хочу протестировать его.
Таким образом, я пытаюсь имитировать dispatch.Http или даже лучше dispatch.HttpExecutor (0.8.5) с помощью Scala (2.9.1.final), Mockito (1.9.0-rc1) ) и ScalaTest (1.6.1), но даже мой тестовый код не может быть скомпилирован.
Здесь, в MyHttpTest, я хочу получать определенный HTTP-ответ на любой HTTP-запрос:
import org.scalatest.FunSuite
import org.scalatest.mock.MockitoSugar
import org.mockito.Mockito.when
import org.mockito.Matchers.any
import dispatch._
class MyHttpTest extends FunSuite with MockitoSugar {
test("example") {
val httpMock = mock[HttpExecutor]
when(httpMock.apply(any(classOf[Handler[String]]))).thenReturn("Some_HTTP_response")
}
}
Но при этом возникает ошибка компиляции:
error: overloaded method value thenReturn with alternatives:
(httpMock.HttpPackage[String],<repeated...>[httpMock.HttpPackage[String]])org.mockito.stubbing.OngoingStubbing[httpMock.HttpPackage[String]] <and>
(httpMock.HttpPackage[String])org.mockito.stubbing.OngoingStubbing[httpMock.HttpPackage[String]]
cannot be applied to (java.lang.String)
when(httpMock.apply(any(classOf[Handler[String]]))).thenReturn("Some_response")
Итак, как имитировать диспетчерский клиент?