【问题标题】:How to Unit test Service & controller (kotlin) in a Cordapp?如何在 Cordapp 中对服务和控制器(kotlin)进行单元测试?
【发布时间】:2020-11-27 11:09:14
【问题描述】:

我已经阅读了许多文档来获取 Cordapp 中的单元测试服务和控制器的样本,而不是流程(已经在 corda 文档中使用)。谁能帮我获取一个实现服务单元测试的示例cordapp?

【问题讨论】:

    标签: spring-boot unit-testing kotlin controller corda


    【解决方案1】:

    尝试查看 github 上的 CordaService Autopayroll 示例。

    链接: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)
        }
    }
    

    链接:https://github.com/corda/samples-kotlin/blob/master/Features/cordaService-autopayroll/workflows-kotlin/src/test/kotlin/net/corda/examples/autopayroll/FlowTests.kt

    祝你好运!

    【讨论】:

    • 谢谢@davidawad。但我也需要模拟代理。因为我还需要从 api 服务文件进行测试。你能分享任何模拟代理的项目吗?
    【解决方案2】:

    我们可以使用 Mockito 模块进行单元测试服务功能和 API 所需的模拟和刺伤。

    This link will direct more on how to mock CordaRPCops using mockito as an example.

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 2023-03-12
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多