问题描述
我目前正在尝试测试我的“暴露Kotlin”代码。我有一张下面的表格
object Foo: Table() {
*parameters*
}
和类似
的方法fun addNewFoo(){
Foo.insert { ... }
}
我正在测试addNewFoo
,并且想验证插入是否发生,理想情况下使用类似
verify { FooSpy.insert { ... } }
如何将Foo表模拟为间谍,以便可以验证调用是否发生,或者应采用其他方法来验证此方法被调用?
解决方法
您可以先使用Foo
模拟单身mockkObject()
类,然后进行验证。这是代码:
mockkObject(Foo) // mock the object
addNewFoo() // call function that we're testing
verify { Foo.insert(any()) } // verify
,
正在讨论解决方法:https://github.com/JetBrains/Exposed/issues/317
似乎没有真正预期的测试方法,但是在测试数据库中创建小型测试表是最接近的。