如何使用Spock测试Grott Kotlin暂停功能(常规)

问题描述 投票:0回答:1

我具有以下kotlin挂起功能:

suspend fun registerNewTransaction(transaction: String): String

我正在尝试通过Spock对其进行测试,但是由于Groovy将kotlin容器类标识为Java类,因此我没有找到在不指定Continuation<? super String>参数的情况下调用此kotlin挂函数的方法。我想知道是否可以从另一种基于JVM的语言中调用挂起函数,否则我将不得不使用另一个测试库,例如JUnit。

kotlin groovy spock kotlin-coroutines
1个回答
0
投票

如果可以从另一个基于JVM的调用挂起函数语言

有可能,但是您需要将Continuation作为最后一个参数传递,因为这是Kotlin编译suspend函数的方式

[我建议使用Kotlin测试Kotlin代码,有很多支持协程的Kotlin特定库,例如mockk

© www.soinside.com 2019 - 2024. All rights reserved.