Ошибка в методе контракта теста контракта учебника Corda - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь реализовать Контрактный тест на 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 голосов
/ 29 января 2019

На этой странице есть ошибка. Первый аргумент 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;
        });
    }
}
...