如何在Kotlin的“已暴露”中模拟数据库查询?

时间:2020-10-04 01:26:51

标签: kotlin mocking kotlin-exposed

我目前正在使用Kotlin ORM Exposed编写应用程序。我正在尝试测试一些基本功能,将查询结果转换为相应对象的实例。我有一些类似的东西:

    suspend fun getAllFoo(): List<Foo> = newSuspendedTransaction {
        FooTable.selectAll().map { rowToFoo(it) }
    }

    private fun rowToFoo(row: ResultRow): Foo {
        return Foo(
            id = row[Foo.id],
            description = row[Foo.description]
        )
    }

(请耐心等待,因为我忽略了数据类的代码,因为我认为这没有什么关系)。我的问题是,我该如何模拟selectAll()函数?我尝试过

        val mockFoo = mock<Foo> {
            on { selectAll() }.doReturn(???)
        }

但是我不知道要在模拟返回中添加什么,因为查询结果似乎是某种神秘的内部类,有什么想法吗?

0 个答案:

没有答案
相关问题