首页 > 解决方案 > 如何在 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(???)
        }

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

标签: kotlinmockingkotlin-exposed

解决方案


推荐阅读