Как проверить шаги в модульном тестировании с Spring 5 Reactor WebFlux? - PullRequest
0 голосов
/ 20 февраля 2019

Я перехожу с императивного на реактивный режим, и мне трудно тестировать мой пробный обратный вызов реактивным способом.Можно ли, например, в классе обслуживания проверить, были ли вызваны макеты?

TransactionId transactionId = authorizerApplicationService.newPaymentAuthorization(
            new PaymentTransactionCommand(
                    OPERATION_ID,
                    TAX_ID));

final ArgumentCaptor<Transaction> argumentsTransaction = ArgumentCaptor.forClass(Transaction.class);

verify(repository, times(2)).save(argumentsTransaction.capture());

final Transaction transaction = argumentsTransaction.getValue();

verify(iamServicePort).authenticate(...));

verify(antiFraudServicePort).checkCustomerSituation(...);

verify(paymentGatewayServicePort, times(0)).authorize(...);

assertEquals(transactionId,         transaction.transactionId());
assertEquals(Money.of(100, "BRL"),  transaction.amount());

В реактивной форме:

StepVerifier.create(authorizerApplicationService.newPaymentAuthorization(
            new PaymentTransactionCommand(
                    OPERATION_ID,
                    TAX_ID)))
      .expectNext(OPERATION_ID)
       //I need to check here if the mocks were invoked
      .verifyComplete();

, учитывая, что все мои внешние сервисы возвращают Mono ofVoid, как я могу сделать проверку звонка?

...