Я работаю над модульным тестированием метода в Mockito, и mockito продолжает отправлять пустой список нулевого размера, даже когда я инициализировал список, который должен быть возвращен.
Это код для тестирования.Обратите внимание, что nonCashIncludedPaymentPlanActive всегда имеет значение true (Mocked).
List<DebtAccountTransaction> debtAccountTransactionList = null;
boolean nonCashIncludedPaymentPlanActive = balancingPlanService.checkNonCashIncludedPaymentPlanParameter(debtAccountId);
if (nonCashIncludedPaymentPlanActive) {
debtAccountTransactionList = debtAccountTransactionDao
.getDebtAccountTransactionListByDebtAccountIdListWithCN(baseDebtIdAccountList, null);
}
if (debtAccountTransactionList.isEmpty()) {
throw new SfcException("DISPLAY.PAYMENT_PLAN_WITH_NO_BALANCE_SERVICE_FILE_CLOSED");
}
Это утверждение, которое продолжает возвращать список, который я высмеял в mockito, и добавил в него элемент, а здесь он возвращает пустой список.
debtAccountTransactionList = debtAccountTransactionDao
.getDebtAccountTransactionListByDebtAccountIdListWithCN(baseDebtIdAccountList, null);
который затем, конечно, попадает в эту строку
if (debtAccountTransactionList.isEmpty()) {
throw new SfcException("DISPLAY.PAYMENT_PLAN_WITH_NO_BALANCE_SERVICE_FILE_CLOSED");
}
Таким образом, чтобы избежать этого пути выполнения, я сделал в Mockito следующее:
when(debtAccountTransactionDao.getDebtAccountTransactionListByDebtAccountIdListWithCN(baseDebtIdAccountList, null)).thenReturn(
debtAccountTransactionList);
и объявлениеdebtAccountTransactionList - это:
DebtAccountTransaction debtAccountTransaction = spy(DebtAccountTransaction.class);
debtAccountTransaction.setId(2L);
List<DebtAccountTransaction> debtAccountTransactionList = new ArrayList<DebtAccountTransaction>();
debtAccountTransactionList.add(debtAccountTransaction);
Я пытался насмехаться над списком, пробовал разные захватчики аргументов, но, похоже, ничего не работает.Когда я отлаживаю его, Mockito действительно заполняет debtAccountTransactionList , но с пустым списком, таким образом, он терпит неудачу.
Любая помощь с тем, как я могу убедиться, что Mockito отправляет непустое непустоеНулевой список, чтобы он мог обойти проверку isEmpty () .