由於Android上的Scala問題,我最近需要在Android上引入ProGuard。我需要ProGuard的縮小功能,它可以刪除假定未使用的類。我非常擔心刪除類對可測試性的影響。現在,我編寫了在主機上運行的單元測試和在Android平臺上運行完全集成的應用程序的驗收測試。有了ProGuard,對測試策略有什麼影響?
通常,我會對相對完整的單元測試覆蓋率和點差驗收測試覆蓋感到滿意。但是,鑑於在我的代碼中,我大量使用了Guice依賴注入,到目前爲止,我的經驗是ProGuard以難以預測的方式去除代碼。因此,這很可能會導致我引入錯誤。
這使我相信我需要編寫驗收/平臺測試,以實現全面覆蓋,因爲在任何時候,都可能存在缺失的類。
別人是否有此經歷?如果是這樣,你的測試策略是什麼?或者憑藉經驗,您是否更加確信ProGuard正在移除的課程確實不需要?
這通常是修整的,但在使用糟糕的庫時要小心怪異的不一致性,比如Facebook android SDK和類似的東西。它通常會破壞事物。 –