2012-06-08 113 views
0

我不知道我仍然得到如何「單位」測試遺留代碼,例如這樣...嘲諷樁深遺留對象

我的大部分代碼是把事情和刪除的東西從A類的一個對象裏面有許多其他的物體,就像樹一樣。在這棵樹的葉子上是一個由OR映射的數據庫行支持的數據項目對象...創建classA的真實對象是一項不平凡的任務,因爲它涉及創建此樹的所有節點。我甚至不具有超出內A.一個級別的可視性類

我的代碼需要行使當classAobj是狀態X和該代碼將移動classAobj Y國

將是最好的方式得到什麼classAobj到狀態X?

我聽說過Mock對象和存根對象喋喋不休,但不確定我將如何處理任何有着深刻期望的事情,以及如何在需要所有樹時創建存根(stub)?

您如何發現classAobj需要其他對象才能正常工作?

+0

請通過發佈您的代碼的相關部分,[正確格式化](http://stackoverflow.com/editing-help)來改進您的問題。此外,請發佈您收到的任何實際錯誤消息,以及您迄今採取了哪些步驟來研究或解決您的編程問題。 –

回答

0

爲未針對單元測試設計的遺留代碼添加單元測試非常困難,您最終可能會在您重構整個對象樹時,最終編寫真正只想垃圾的測試。

我會着眼於編寫集成測試,因爲這會給您最大的自由度來重構,但花費很大的代價。