python unittest测试框架简要使用说明

  • python的标准库模块unittest 库,实现单元测试

  • 测试用例框架简要描述

    • 测试用例类要继承unittest.TestCase 【class TestClass(unittest.TestCase)】形式
    • 测试类里的测试用例名称命名以testxxx的方式命名,以test开头
    • setup()在每个用例执行前执行,做一些数据初始化的动作
    • teardown()在每个用例执行后执行,用于销毁一些数据动作
    • 可以使用testcase 中的asset xxx 进行断言判断来校验用例结果
    • 测试套件:如果没有使用测试套件,在主函数中执行,就执行所有的测试用例,使用套件后可以针对每个用例进行嵌套,单个执行
    • 测试套件 unittest.TestSuite类,from unittest.runner import TextTestRunner
    • unittest 简单框架代码构成
import unittest
from unittest.runner import TextTestRunner

# 需要测的工具类
class classtest:
    pass
    #执行代码,也就是要测试的单元类


class calssunittest(unittest.TestCase):

    # 测试项初始化方法
    def setUp(self):
        pass

    # 测试项结束时调用
    def tearDown(self):
       pass

    # 测试classtest的sum方法
    def testSum(self):
        print("测试用例")
        # 断言相等
        self.assertEqual("执行结果", "预期结果")

    def testbolen(self):
        print("testOthers...")

        # 断言真假
        self.assertTrue("判断条件")
        self.assertFalse("判断条件")

        # 断言抛出异常
        with self.assertRaises(TypeError):
            pass

# 定义一个测试套件
def testrunner():
    suite = unittest.TestSuite()
# 往测试套件里新增用例类下的所有测试项
    suite.testSum(unittest.makeSuite(calssunittest))
# 执行测试套件
    runner = TextTestRunner()
    ret = runner.run(suite)
    print(ret)

if __name__ == '__main__':
    testrunner()
##备注说明:如果我们有多个测试文件要进行执行时,我们需要进行全测试类下的测试文件执行
#定义一个主运行函数,建立一个runner的python 文件,设置用例执行入库
def  run_main():
	    case_path = os.getcwd() #获取程序目录
    	case_file= unittest.defaultTestLoader.discover(case_path,pattern="test_*".py)#匹配测试文件
    	runner=unittest.TextTestRunner(verbosity=2) #设置执行级别
    	runner.run(case_file) 
if __name__ == '__main__':
    unittest.main() # 用例执行入口

猜你喜欢

转载自blog.csdn.net/u013279518/article/details/89177688