Плохо ли использовать Reflection в модульном тестировании? [Дубликат]
На этот вопрос уже есть ответ:
Как мне проверить приватную функцию или класс, у которого есть приватные методы, поля или внутренние классы? 47 ответовВ последние годы я всегда думал, что в Java Reflection широко используется во время модульного тестирования. Поскольку некоторые из переменных / методов, которые должны быть проверены, являются закрытыми, необходимо как-то прочитать их значения. Я всегда думал, что API Reflection также используется для этой цели.
На прошлой неделе мне пришлось протестировать несколько пакетов и написать несколько тестов JUnit. Как всегда, я использовал Reflection для доступа к закрытым полям и методам. Но мой супервайзер, который проверил код, был не очень доволен этим и сказал мне, что Reflection API не предназначен для такого «взлома». Вместо этого он предложил изменить видимость в рабочем коде.
Это действительно плохая практика - использовать Reflection? Я не могу в это поверить-
Редакция: я должен был упомянуть, что мне нужно, чтобы все тесты были в отдельном пакете, называемом test (поэтому использование защищенной видимости, например, тоже не было возможным решением)