有一種簡單的方法(idealy現有的幫助程序庫)檢測java bean的陰影屬性,因爲它具有多級層次結構?檢測陰影的java bean屬性
[C]擴展[B]擴展[A]。 然後定義屬性[A] .firstName。
我想檢測bean在通用jUnit測試中重新定義[C] .firstName(這可能是開發人員錯誤),因此構建過程會捕獲這種「難以發現的錯誤」。
注意:在Eclispe IDE中,這相當於Java/Compiler/Errors/Name陰影和衝突下的「字段聲明隱藏了另一個字段或變量」。
避免這種情況的最佳方法是不繼承。相反,您應該通過接口聲明繼承層次結構,並使用「較低」層次結構層的實例組合實現。 –
檢測此類問題不是UnitTest的任務。 UnitTests檢查代碼的行爲。繼承不是行爲。正確的工具來檢測這將是_findbugs_或_pmd_。 –