1

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?

LMaker
  • 1,444
  • 3
  • 25
  • 38

0 Answers0