I'm trying to use MockWebServer in my instrumented tests but its not working. The real API is being called, and not the mock itself.
com.squareup.okhttp3:mockwebserver:4.10.0
I have my base class:
abstract class BaseInstrumentedTest {
private var mockWebServer: MockWebServer = MockWebServer()
init {
mockWebServer.start(8080)
}
@After
fun after() {
mockWebServer.shutdown()
}
fun setDispatcher(it: Dispatcher){
mockWebServer.dispatcher = it
}
}
And I'm using this dispatcher just to see how it works.
fun getDispatcher(): Dispatcher {
return object : Dispatcher() {
override fun dispatch(request: RecordedRequest): MockResponse {
return MockResponse().setResponseCode(500)
}
}
}
So, I could do it like:
@Test
fun someTestHere() {
setDispatcher(getDispatcher())
launchActivity()
}
But unfortunately its not working.
Any guesses?