mockkのverifyでメソッドの引数の中身をチェックする
下のようなコードでUseCaseSaveのテストでrepo.saveに意図した値が入っているかを確認したいようなケース
data class Data( val target: Int val timestamp: Date = Date() ) class UseCaseSave(val repo: Repo) { fun execute(num: Int) { repo.save(Data(num)) } }
matcherを自前で用意することで対応が可能。
@Test fun test_hoge() { val repo = mockk() val useCase = UseCaseSave(repo) useCase.execute(1) verify { repo.save(match { date -> date.target == 1 }) } }