Kotlin 是否可以保留已存在的接口实现?
我有这样一个界面:Kotlin 是否可以保留已存在的接口实现?,kotlin,mockk,Kotlin,Mockk,我有这样一个界面: 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
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)))
}
}
runTransaction(alsoDelete = true)
verify { insertItems(listOf(ItemData(id = 1), ItemData(id = 2), ItemData(id = 3))) }
使用mockk可以实现这一点吗?类似的东西应该可以:
val x = mockk<Database>()
every { x.runTransaction(any()) } answers { callOriginal() }
x.runTransaction(alsoDelete = true)
verify { x.insertItems(listOf(ItemData(id = 1), ItemData(id = 2), ItemData(id = 3))) }
val x=mockk()
每个{x.runTransaction(any())}回答{callOriginal()}
x、 运行事务(alsoDelete=true)
验证{x.insertItems(listOf(ItemData(id=1)、ItemData(id=2)、ItemData(id=3)))
但事实并非如此。我加了一张票