2010-09-15 54 views
1

我有一個相當長的方法。它複製所有關係的ActiveRecord對象,並在某些情況下更改關係。爲了使代碼更具可讀性,我使用私有方法。我想測試它們。 Technicaly,在Ruby中沒有問題,但我懷疑,我的設計不好。你有什麼建議如何處理這種情況?很長的方法和測試私有方法 - 設計問題

回答

4

一派思想是,每一個重要的私有方法都應該通過測試一個類的公共接口來隱式測試。如果一個私有方法沒有通過公共接口被調用,那麼它是多餘的。如果你的私有方法很複雜,需要進行自己的測試,你應該考慮把它放在一個自己的類中,然後測試這個類。

總之,它不應該是明確地測試你的私有方法的必要條件。

俗話說:「不要碰你的私處。」

+1

你說過這一切只是爲了讓你可以在最後做這個笑話... – 2010-09-15 08:28:12

+0

誰說這是一個笑話? 2010-09-15 09:04:44