【问题标题】:Corda service does not exist when running flow tests with a MockNetwork使用 MockNetwork 运行流测试时不存在 Corda 服务
【发布时间】:2018-08-07 02:34:48
【问题描述】:

我有一个 CorDapp,我在其中定义了一个预言机。正常运行节点时,oracle 工作正常。但是,在使用 MockNetwork 运行流测试时,出现以下异常:

net.corda.core.flows.FlowException: java.lang.IllegalArgumentException:Corda 服务 net.corda.option.oracle.oracle.Oracle 不存在

如何使用MockNetwork 注册 Corda 服务或让它识别它?

【问题讨论】:

    标签: corda


    【解决方案1】:

    在初始化MockNetwork 时,您必须将服务定义为要扫描的CorDapp 包之一的包传递。所以在你的情况下,你会写:

    private val mockNet: MockNetwork = MockNetwork(
        cordappPackages = listOf("net.corda.option.oracle.oracle")
    )
    

    【讨论】:

    • 当我在本地运行 cordapp 时遇到同样的错误,我尝试更新 NodeDriver.kt 驱动程序(isDebug = true, extraCordappPackagesToScan = listOf("com.example.services")) 它没有帮助
    • 我正在使用 corda V2 我如何更新它在从 NodeDriver.kt 创建的网络上本地运行的 cordapp 并且它不会抛出此异常!
    • 这个问题是关于MockNetwork。您能否提出一个关于使用驱动程序进行测试的单独问题? :)
    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多