Плохо ли использовать Reflection в модульном тестировании? [Дубликат]

На этот вопрос уже есть ответ:

Как мне проверить приватную функцию или класс, у которого есть приватные методы, поля или внутренние классы? 47 ответов

В последние годы я всегда думал, что в Java Reflection широко используется во время модульного тестирования. Поскольку некоторые из переменных / методов, которые должны быть проверены, являются закрытыми, необходимо как-то прочитать их значения. Я всегда думал, что API Reflection также используется для этой цели.

На прошлой неделе мне пришлось протестировать несколько пакетов и написать несколько тестов JUnit. Как всегда, я использовал Reflection для доступа к закрытым полям и методам. Но мой супервайзер, который проверил код, был не очень доволен этим и сказал мне, что Reflection API не предназначен для такого «взлома». Вместо этого он предложил изменить видимость в рабочем коде.

Это действительно плохая практика - использовать Reflection? Я не могу в это поверить-

Редакция: я должен был упомянуть, что мне нужно, чтобы все тесты были в отдельном пакете, называемом test (поэтому использование защищенной видимости, например, тоже не было возможным решением)

Ответы на вопрос(7)

Ваш ответ на вопрос