Почему мои тесты потока не могут проверить транзакцию в определенных узлах, даже если они присутствуют в их хранилищах? - PullRequest
0 голосов
/ 05 марта 2019

ОШИБКА: java.lang.AssertionError: ожидаемая: net.corda.core.transactions.SignedTransaction, но была: net.corda.core.transactions.SignedTransaction Ожидаемая: net.corda.core.transactions.SignedTransaction Actual:net.corda.core.transactions.SignedTransaction

Насколько я вижу, ожидаемые и фактические транзакции одинаковы, но все равно выдает ошибку.Он проходил другие тесты, но внезапно потерпел неудачу без какой-либо удовлетворительной информации для отладки.ниже приведен код из моих тестов:

@Test
    public void flowRecordsATransactionInBothPartiesTransactionStorages() throws Exception {
        SignedTransaction signedTx = createPlacementCompleteTxn();

        // We check the recorded transaction in both vaults.
        for (StartedMockNode node : ImmutableList.of(participantsNodes.get(0), participantsNodes.get(1), participantsNodes.get(3))) {
            assertEquals(signedTx, node.getServices().getValidatedTransactions().getTransaction(signedTx.getId()));
        }

1 Ответ

0 голосов
/ 09 марта 2019

Это нормально работает для меня на Corda 4. Например, следующий тест проходит:

@Test
public void recordedTransactionIsCorrect() throws Exception {
    ExampleFlow.Initiator flow = new ExampleFlow.Initiator(1, b.getInfo().getLegalIdentities().get(0));
    CordaFuture<SignedTransaction> future = a.startFlow(flow);
    network.runNetwork();
    SignedTransaction signedTx = future.get();

    // We check the recorded transaction in both vaults.
    for (StartedMockNode node : ImmutableList.of(a, b)) {
        SignedTransaction recordedTx = node.getServices().getValidatedTransactions().getTransaction(signedTx.getId());
        assertEquals(recordedTx, signedTx);
    }
}
...