I'm trying to mock an Android Context to return a string from a resource id. However I have trouble matching the stub to the call, I assume it is because of the varargs. However I am new to mockk so I might just miss something very easy.
I mock the context this way:
val context = mockk<Context>()
every { context.getString(any(), any()) } returns stringToReturn
But when calling getString on the object it throws the following exception:
io.mockk.MockKException: no answer found for: Context(#1).getString(2131689544, [])
If it is important, I call the function in the class under test similar to this. formatArgs may be empty but doesn't have to:
protected fun foo(stringResource: Int, vararg formatArgs: Any) {
val s = context.getString(errorMessageStringResource, *formatArgs)
Any idea how I can fix this?
You can check the project and reproduce the exception here: Github Project