擅长:python、mysql、java
<p>为什么不为要测试的类使用别名呢?您可以编写引用伪<code>HeapImpl</code>类的测试类,然后在每次测试运行之前为其分配特定的实现:</p>
<pre><code>class TestHeap(unittest.TestCase):
def setUp(self):
self.heap = HeapImpl()
#test cases go here
if __name__ == '__main__'
suite = unittest.TestLoader().loadTestsFromTestCase(TestHeap)
heaps = [BinaryHeap, BinomialHeap]
for heap in heaps:
HeapImpl = heap
unittest.TextTestRunner().run(suite)
</code></pre>
<p>只要它们符合您在测试套件中使用的接口,这应该可以正常工作。另外,您可以方便地测试任意多个实现,只需将它们添加到<code>heaps</code>列表中即可。在</p>