我有一个这样的界面:
interface Database {
fun insertItems(items: List<ItemData>)
fun deleteItems(items: List<ItemData>)
fun runTransaction(alsoDelete: Boolean) {
insertItems(listOf(ItemData(id = 1), ItemData(id = 2), ItemData(id = 3)))
if (alsoDelete)
deleteItems(listOf(ItemData(id = 4), ItemData(id = 5), ItemData(id = 6)))
}
}
我想使用 mockk 创建 的实例Database
,但我只想模拟抽象方法,同时保留runTransaction
它确实具有我想要测试的实现。结果是我可以像这样验证:
runTransaction(alsoDelete = true)
verify { insertItems(listOf(ItemData(id = 1), ItemData(id = 2), ItemData(id = 3))) }
是否有可能用 mockk 实现这一目标?