Corda教程的合同测试台词方法错误

时间:2019-01-22 09:39:00

标签: corda

我正尝试按照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>)。 我究竟做错了什么?

1 个答案:

答案 0 :(得分:0)

该页面上有错误。 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;
        });
    }
}