@coden55

В теле метода должен быть вызван конкретный другой. Как сделать проверку?

interface ResultListener {
void onGetResult(Request request);
}

В реализации onGetResult(Request request); должен быть вызван метод request.destroy();
Об ошибке должна сообщать IDE во избежание утечки памяти.

Есть варианты решения? Надеюсь понятно объяснил что необходимо:)
  • Вопрос задан
  • 158 просмотров
Решения вопроса 2
@protven
Это нужно делать не средствами IDE, а с помощью юнит-тестов.

В вашем случае наверное проще всего будет заюзать Mockito. Она позволяет проверять что был вызван какой-то метод.
Ответ написан
@zelan
Кратко обо мне не получится.
Помимо использования Mockito есть и другой вариант при котором отпадает необходимость делать проверку вызова:

можно в Request реализовать интерфейс AutoCloseable. В нем всего 1 метод close().
void close() throws Exception{
    //вставляешь вызов
    this.destroy(); 
}


И затем использовать конструкцию try-resourse
void onGetResult(Request request){

    try(Request autoClosableRequest = request){
        //делаешь все дела в теле try
        //при выходе из try 100% будет вызван метод close(), и выполнена твоя реализация destroy()
    }

}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект