2011-08-07 60 views
3

我通常對每個類進行單元測試,這是沒有問題的。然而,在搞亂python之後,我遇到了一個在其他語言,元類和內部類中沒遇到的問題。Python中的單元測試元類和內部類

說我有一個類包含一個內部類,也有一個元類,這種情況下構建單元測試的最佳方法是什麼?

一種方法可能是在單個測試模塊中測試所有三個模塊,因爲它們無論如何緊密耦合。但這對我來說似乎是錯誤的。但是,我將如何單元測試它自己的元類,在使用所述元類的測試中創建一個虛擬類?

您的想法請stackoverflow!

回答

3

您可以通過實例化它來測試一個類。你提到的「虛擬類」是元類的一個實例,所以你應該如何測試它。

當涉及到測試內部類/外部類 - 是的,我會包括測試內部類在外部類的測試。如果從外部類別獨立地測試內部類別是有意義的,爲什麼它是一個內部類別呢?任何內部類只應在外部類的範圍內有意義。如果你要獨立測試它,你將不得不模仿外部類的環境。

+0

Thanks @agf我將在單元測試中創建一個從主類繼承的虛擬類,這將使我能夠同時測試這個元類和內部類。 –