Android MockWebServer Dispatch not being called

155 Views Asked by At

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?

0

There are 0 best solutions below