Модульный тест для метода, который вызывает метод void в блоке catch и выдает исключение - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть проект с Morphia ORM - без транзакций. И у меня есть этот метод:

public void methodForTest() {
        try {
          methodCanThrowException();
        } catch (Exception e) {
           methodWhiсhICanNotTest(template);
           throw new Exception("message of exception");
        }
    }

 private void methodWhiсhICanNotTest(String template){
  serviceWhichCanBeMockOne.clearAll(template);
  serviceWhichCanBeMockTwo.clearAll(template);
  serviceWhichCanBeMockThree.clearAll(template);

 }

Могу ли я проверить, что methodWhiсhICanNotTest(); был вызван? или как я могу переписать этот код для облегчения тестирования?

1 Ответ

2 голосов
/ 12 февраля 2020

ОБНОВЛЕНИЕ ОТВЕТА НА ОБНОВЛЕННЫЙ ВОПРОС: D

Если ваш methodWhiсhICanNotTest является частным методом. Тогда вы не можете проверить это, используя Mockito в моем предыдущем ответе. PowerMock - еще одно решение для вас. Прочитайте эту статью и попробуйте :-)

======================

Вы можете использовать Mockito, чтобы проверить, вызывается ли methodWhiсhICanNotTest.

Mockito.verify(abc.methodWhiсhICanNotTest())
...