Mockito verifyNoMoreInteractions тест то проходит то нет, в зависимости от инициализации

Всем привет:) Подскажите куда копать

Есть простой тест:

@Test
    public void deleteAccountByID_check() {
        AccountModel model = new AccountModel();
        when(accountRepository.findById(anyLong())).thenReturn(Optional.of(model));
        doNothing().when(accountRepository).deleteById(anyLong());
        String s = subj.deleteAccountByID(1);
//        verify(accountRepository, times(1)).deleteById(1L);
        verify(accountRepository, times(1)).findById(1L);
        verifyNoMoreInteractions(accountRepository);
        assertEquals("Deleting complete", s);
    }

Инициализации моков и тестового класса:

@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@ExtendWith(MockitoExtension.class)
class OperationServiceTest {
    OperationService subj;


    private AccountRepository accountRepository;


    private TransactionRepository transactionRepository;


    private AccountModelToAccountDTOConverter accountDTOConverter;


    private TransactionModelToTransactionDTOConverter transactionDTOConverter;

    @BeforeAll
    public void init() {
        accountRepository = Mockito.mock(AccountRepository.class);
        transactionRepository = Mockito.mock(TransactionRepository.class);
        accountDTOConverter = Mockito.mock(AccountModelToAccountDTOConverter.class);
        transactionDTOConverter = Mockito.mock(TransactionModelToTransactionDTOConverter.class);

        subj = new OperationService(accountRepository,
                transactionRepository,
                accountDTOConverter,
                transactionDTOConverter
        );
    }
}

В данном случае verifyNoMoreInteractions выдает ошибку, что вызывается не верифицированный метод deleteById(anyLong()) и это правильно

Если инициализацию делаю так:

@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@ExtendWith(MockitoExtension.class)
class OperationServiceTest {
    @InjectMocks
    OperationService subj;

    @Mock
    private AccountRepository accountRepository;

    @Mock
    private TransactionRepository transactionRepository;

    @Mock
    private AccountModelToAccountDTOConverter accountDTOConverter;

    @Mock
    private TransactionModelToTransactionDTOConverter transactionDTOConverter;
}

а код теста оставляю без изменений то тест спокойно проходит, почему так происходит, где что проверить?


Ответы (0 шт):