2011-09-04 74 views
1

我有一個python模塊,它定義了另一個python模塊實現的一組基類。如何從另一個模塊動態生成一組TestCase子類?

核心python模塊也有測試用例,測試基類是否正確實現。

在第二個模塊的測試套件中,我想從第一個模塊自動生成TestCase子類,並添加一個mixin,爲特定實現提供必要的setUp()。

我看到很多參數化測試用例的答案,但在我的情況下,我只是想重新使用常用的類和它們的子類。

如果它需要父測試模塊中的一些代碼來實例化它們,只要它以不同的方式命名測試並自動運行它們即可。

如果重要的話,這段代碼使用了扭曲和試用標準單元測試。

+0

酷故事兄弟,你忘了問題。 –

+1

咦?這是正確的。這個故事就是對這個問題的解釋。 –

回答

3

可能幾乎完全符合您要求的東西是twisted.internet.test.reactormixins.ReactorBuilder。例如,您可以看到它在test_tcp中的使用方式。

+0

謝謝雕文,指出我朝着正確的方向。我使用了makeTestCaseClasses,並使用同一模塊中定義的通用測試用例列表將其更改爲模塊函數。唯一讓我困惑的是模塊頂部的__metaclass__ = type;這是必要的嗎?它有什麼作用 ?這是相當不合適的。 –

+0

這只是使得在該模塊中定義的所有類沒有明確的基類是新樣式的。它可以防止某人定義一次性類,並在':'之前忘記'(object)'。 – Glyph

相關問題