如何在 Cordapp 中对服务和控制器 (kotlin) 进行单元测试?
How to Unit test Service & controller (kotlin) in a Cordapp?
我已经阅读了许多文档来获取 Cordapp 中的单元测试服务和控制器示例,而不是流(已经在 corda 文档中使用)。任何人都可以帮我获得一个实施服务单元测试的示例 cordapp 吗?
尝试查看 github 上的 CordaService Autopayroll 示例。
link: https://github.com/corda/samples-java/tree/master/Features/cordaservice-autopayroll
可以访问此处在测试代码中使用的已注册服务
//Test #1 check if the requestState is being sent to the bank operator behind the scene.
@Test
fun `dummy test`() {
val future = a.startFlow(RequestFlowInitiator("500", b.info.legalIdentities.first()))
network.runNetwork()
val ptx = future.get()
println("Signed transaction hash: ${ptx.id}")
listOf(a, bank).map {
it.services.validatedTransactions.getTransaction(ptx.id)
}.forEach {
val txHash = (it as SignedTransaction).id
println("$txHash == ${ptx.id}")
assertEquals(ptx.id, txHash)
}
}
祝你好运!
我们可以使用 Mockito 模块进行单元测试服务功能和 API 所需的模拟和刺穿。
我已经阅读了许多文档来获取 Cordapp 中的单元测试服务和控制器示例,而不是流(已经在 corda 文档中使用)。任何人都可以帮我获得一个实施服务单元测试的示例 cordapp 吗?
尝试查看 github 上的 CordaService Autopayroll 示例。
link: https://github.com/corda/samples-java/tree/master/Features/cordaservice-autopayroll
可以访问此处在测试代码中使用的已注册服务
//Test #1 check if the requestState is being sent to the bank operator behind the scene.
@Test
fun `dummy test`() {
val future = a.startFlow(RequestFlowInitiator("500", b.info.legalIdentities.first()))
network.runNetwork()
val ptx = future.get()
println("Signed transaction hash: ${ptx.id}")
listOf(a, bank).map {
it.services.validatedTransactions.getTransaction(ptx.id)
}.forEach {
val txHash = (it as SignedTransaction).id
println("$txHash == ${ptx.id}")
assertEquals(ptx.id, txHash)
}
}
祝你好运!
我们可以使用 Mockito 模块进行单元测试服务功能和 API 所需的模拟和刺穿。