@click_f

В каких ситуациях при тестировании может понадобиться Reflection?

Reflection очень мощный инструмент в умелых руках, однако неумелое использование может привести к проблемам.
Интересует вопрос в каких ситуациях при тестировании это уместо, и при каких - нет.
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
lxsmkv
@lxsmkv
Test automation engineer
Мы используем рефлексию для работы с объектами во время выполнения программы.
Наша архитектура не всегда предоставляет доступ к объектам (в некоторых частях приложения нет фабрик, нет реестров объектов, нет синглтонов и пр.) либо не предоставляет интефейса для работы с ними. Но такая необходимость признак не очень хорошей архитектуры.
Если вы хотите тестировать не запуская программу, то рефлексия в принципе и не нужна, только если вы хотите залезть "голыми руками в трансформаторный щиток" и знаете что делаете. Архитектура компонент должна предоставлять вам необходимые интерфейсы для тестирования. Иначе у вас классическая проблема с "testability".
Такая проблема часто возникает когда сначала пишут приложение, а потом думают как бы его протестировать. Но уже поздно. И приходится рефакторить.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Вообще-то никогда не уместно. Если только вы не пишите фреймворк наподобие Mockito.
Ответ написан
Комментировать
@private_tm
JAVA dev
Если надо тестирования приватных методов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы