2016-08-16 124 views
0

我正在研究一個遺留項目,它具有許多外部依賴關係,並且類是如此緊密耦合以至於幾乎不可能進行單元測試。我知道解決這個問題的最好方法是做一個重大的重構,但目前我們沒有奢侈品這麼做,因爲該項目幾乎是0測試,所以我們非常關心打破東西。嘲笑遺留庫

我們目前正在努力實現的目標是快速提出單元/組件測試,並在我們開展項目時逐步進行重構。對於組件測試,我正在考慮在現有類上使用某種包裝來「記錄」輸入和輸出,然後將其保存到物理文件中。當我們運行測試時,它會根據輸入返回輸出。

我在想如何實現,即將方法名稱和輸入參數存儲爲鍵和輸出值。輸出將在「記錄」中序列化並在測試期間反序列化。

這種方法似乎能夠滿足某些情況..但我預見到會有很多併發症。例如:我可能會遇到幾個序列化某些對象的問題。我也可能會遇到困難,從「out」參數傳遞對象引用。

所以這裏來了我的問題。是否有任何圖書館能夠完成所有這些事情?如果有圖書館的話,我從來沒有考慮過這樣做。順便說一句,我使用Java。

感謝

回答

0

而不是做低層次的單元測試,我想與你現在可以把最小單元測試開始,即可能只有一個。您可以使用不需要將對象標記爲可序列化的序列化庫來捕獲數據輸入和輸出,例如傑克遜。