unittest理解

# -*-coding:utf8-*-
import unittest
import ctypes
#創建一個測試用例,其中test前綴的函數爲被測測試函數
class FooTest(unittest.TestCase):
    def setUp(self):
        self.a=1


    
    def testpass(self):
        self.a=self.a+1
        self.assertEqual(2,self.a)


    #@unittest.skip("skip") 這個修飾起可以直接跳過這測試用例,不會計算錯誤,但是會算在執行的測試用例總數裏
    def testfaile(self):
        self.a=self.a+1
        self.assertEqual(3,self.a)
    # def runTest(self):
    #     pass


# class testsuite(unittest.TestSuite):
#   pass


#print FooTest('testpass')






#手動的,一個個的添加testcase到測試集合中
#初始化構造時,分步添加
testsuite=unittest.TestSuite()
testsuite.addTest(FooTest("testpass")) #參數爲測試用例類中-測試函數的名稱
testsuite.addTest(FooTest("testfaile"))   #參數爲測試用例類中-測試函數的名稱


#通過unittest.TestLoader提供的函數自動的添加testcase到測試集合中
suite = unittest.TestLoader().loadTestsFromTestCase(FooTest)


#獲取測試類中的以默認test開頭的測試函數名稱,返回列表
#print unittest.TestLoader().getTestCaseNames(FooTest)


#將其他的測試用例集合添加到allsuite中,組所有的測試用例suite的集合,參數是以列表的形式提供
allsuite=unittest.TestSuite([testsuite])




#運行測試用例組,通過TextTestRunner中的類成員函數
result=unittest.TextTestRunner().run(allsuite)
#print("#"*20)
if __name__ == '__main__':
    #unittest.main()
    pass


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章