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