【问题标题】:Corda tutorial's contract test ledget method errorCorda 教程的合约测试 ledget 方法错误
【发布时间】:2019-01-29 20:58:26
【问题描述】:

我正在尝试按照there 的描述在 Java 上实现合同测试。

我将第一个测试的代码粘贴到我的项目中,并将import static net.corda.testing.NodeTestUtils.ledger; 更改为import static net.corda.testing.node.NodeTestUtils.ledger;

package com.template;

import org.junit.Test;

import static net.corda.testing.node.NodeTestUtils.ledger;

public class CommercialPaperTest {
    @Test
    public void emptyLedger() {
        ledger(l -> {
            return null;
        });
    }
}

我看到账本方法有一个完全不同的签名,所以 Java 说它无法解析方法 ledger(<lambda expression>)。 我究竟做错了什么?

【问题讨论】:

    标签: corda


    【解决方案1】:

    该页面有错误。 ledger 的第一个参数应该是 MockServices 实例。

    例如,我们可以这样写:

    public class CommercialPaperTest {
        private static final TestIdentity megaCorp = new TestIdentity(new CordaX500Name("MegaCorp", "London", "GB"));
        private MockServices ledgerServices;
    
        @Before
        public void setUp() {
            ledgerServices = new MockServices(
                    singletonList("net.corda.finance.contracts"),
                    megaCorp,
                    makeTestIdentityService(megaCorp.getIdentity())
            );
        }
    
        @Test
        public void emptyLedger() {
            ledger(ledgerServices, l -> {
                return null;
            });
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多