Есть ли простой способ (идеализированная существующая вспомогательная библиотека) для обнаружения затененных атрибутов java bean, учитывая, что он имеет несколько уровней иерархии?Обнаружение скрытой java bean-функции
[C] удлиняет [B] удлиняет [A]. Затем определяется атрибут [A] .firstName.
Я хочу обнаружить bean-компоненты, где [C] .firstName переопределено (что, вероятно, ошибка разработчика) внутри общего теста jUnit, так что этот «трудный поиск ошибки» улавливается процессом сборки.
Примечание: в Eclispe IDE это эквивалентно «Объявление поля скрывает другое поле или переменную» в рамках теневого копирования и конфликтов Java/Compiler/Errors/Name.
Лучший способ избежать этого - не наследовать. Скорее вы должны объявить иерархию наследования через интерфейсы и составить реализацию с экземплярами «нижних» уровней иерархии. –
Определение таких проблем не является задачей для UnitTest. UnitTests проверяет поведение кода. Наследование - это не поведение. Правильный инструмент для обнаружения этого будет _findbugs_ или _pmd_. –