I'll et the code speak.
@Test fun test() { data class Activity( val type: String, val ts: Instant, ) fun persistActivity(a: Activity): Unit = mockk() fun createActivity(type: String) { persistActivity(Activity(type, Instant.now())) } every { persistActivity(any()) } just Runs createActivity("foo") verify { persistActivity(Activity("foo", any())) } }
However this fails with
Failed matching mocking signature for left matchers: [any()] io.mockk.MockKException: Failed matching mocking signature for left matchers: [any()]
How can I verify persistActivity() was passed a data class with loose constraints on some of its fields? Can I achieve that without using cumbersome match {} function?
persistActivity()
match {}
The persistActivity function is not mocked, so verification must fail. If it were mocked correctly though, you could use match for partial verification:
persistActivity
match
verify { persistActivity(match { it.type == "foo" }) }
2.1m questions
2.1m answers
60 comments
57.0k users