2012-01-17 62 views
0

語境:蟒蛇2.6.5環境爲什麼我通過defaultTestLoader.loadTestsFromModule加載測試套件時未調用setUpClass函數?

我使用unittest.defaultTestLoader.loadTestsFromModule(module)加載測試。 但是,加載以下內容時,不會執行setUpClass方法。

class MyTest(unittest.TestCase): 
    foo = None 

    def test_choice(self): 
     self.logger.info(' .. %s' % str(Full.foo)) 
     self.assertTrue(1 == 1) 

    @classmethod 
    def setUpClass(cls): 
     logging.warn('setUpClass') 
     cls.foo = settings.INITIAL 

返回的測試套件表明它返回:

<unittest.TestSuite 
    tests=[<unittest.TestSuite 
     tests=[<internal.tests.master.MyTest testMethod=test_choice>]>, 

基本上「測試」包下,會有許多測試模塊。我希望setUpClass & tearDownClass適用於每個測試套件。 loadTestsFromModule不符合我的要求。還有其他方法可以實現嗎?

回答

2

現在,我升級到使用unittest2後就能正常工作。

相關問題