2012-07-01 89 views
0

這是一個擴展:Unit Testing Interfaces in PythonPython的單元測試接口

我的問題是滿足的界面最終將運行到數千類的數量。不同的開發者在不同的子類上工作。

對於其他子類,我們不能對一個子類的失敗單元測試進行失敗測試。實質上,我需要爲每個滿足接口的子類創建一個新的unittest.TestCase類型。

無需修改測試模塊即可完成此操作。 (我想避免每次添加滿足接口的新子類時更新單元測試模塊)。

我希望能夠爲滿足界面的類自動創建unittest.TestCase類類型。這可以使用元類來完成。

但是這些類需要添加到測試模塊進行測試。這可以在類定義期間完成,而不需要修改測試模塊?

+1

真的嗎?數千個子類?這聽起來像是一個錯誤的解決方案,首先你可以做不同的事情。另外,你所關聯問題的第一個答案是「nosetest測試生成」。爲什麼這不是你問題的答案? –

+0

是的,我們正在研究極其多變的數據。每次編寫新的子類時,鼻子測試生成都需要更新測試模塊。 – GeneralBecos

回答

0

如果您正在編寫單獨的子類,除了成功實現接口外,還需要測試它們之間的差異。編寫一個名爲satisfies_the_thousand_class_interface的方法,對接口進行測試,將其添加到您的自定義TestCase類中,然後讓您的每個千個測試用例(每個子類一個)除了執行所有專業測試外還調用該方法。

+0

他們基本上只是滿足一個接口。我不想測試它們的獨特功能。 – GeneralBecos

+0

你有成千上萬的課你是不是有興趣測試他們彼此有什麼不同?現在我真的相信你在做這個錯誤... –

+0

他們的接口的實現是不同的。 – GeneralBecos