unittest理解

来源:互联网 发布:实惠猪软件下载 编辑:程序博客网 时间:2024/06/07 01:54
# -*-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


0 0