python-unittest


  • TestCase是一个测试用例,一个完整的测试用例包括:测试前准备setUp、测试执行代码run、测试后环境还原tearDown。
  • TestSuite,是多个测试用例的集合,测试套件TestSuite可以嵌套测试套件。
  • TestLoader加载用例到TestSuite;
  • TextTestRunner执行测试用例,保存测试结果到TextTestResult中。
  • Test fixture是一个用例环境的搭建和销毁过程。

1、测试用例执行过程:

测试用例Testcase完成后,使用TestSuite的TestLoader方法加载到测试套件,
然后有TextTestRunner运行测试套件,把测试结果保存在TextTestResult中,,每一个测试方法都必须以test开头,否则不会被unittest识别,
在测试执行过程中,我们使用到一个参数:verbosity(0-不输出每一项执行结果、1-输出每一个测试结果、2-输出详细执行结果。)

2、测试断言:


3、uniitest


  •  跳过用例执行skip
    三种跳过用例执行方法:
    a、unittest.skip(msg) 直接跳过用例执行,不进行条件判断;
    b、unittest.skipIf(condtion) 满足条件不执行
    c、unittest.skipUnless(condtion) 满足条件才执行
  • 加载测试套件Suite
    import os
    import unittest
    
    # 实例化测试套件
    suite = unittest.TestSuite()
    
    # 获取case目录以下所有test开头的测试用例文件
    case_path = os.path.join(os.getcwd(), "case")
    discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py", top_level_dir=None)
    suite.addTests(discover)
    
    
    # 获取目录case1和目录下case2测试用例文件
    suite.addTest()
    
    # 使用makeSuite方法添加类或类下以test开头的测试用例
    suite.addTests(unittest.makeSuite(testclassname, 'test'))
    suite.addTests(unittest.makeSuite(testclassname))
    
    # 直接添加测试类中test开头的测试方法
    suite.addTests(testclassname('test'))
    
    # 使用defaultTestLoader添加测试用例
    # 使用testclass加载测试用例
    unittest.TestLoader().loadTestsFromTestCase(testclass)
    # 使用testmodule加载测试用例
    unittest.TestLoader().loadTestsFromModule(modulename)
    # 字符串为使用模块、类、用例名称加载,注意路径完整性
    unittest.TestLoader().loadTestsFromName('str')
    # 字符串列表为使用模块、类、用例名称加载,注意路径完整性
    unittest.TestLoader().loadTestsFromNames('list')
    
    














【参考】:https://huilansame.github.io/huilansame.github.io/archivers/python-unittest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值