(一)Python Unittest 回忆录

  1. 测试用例-案例覆盖方式
    1. 语句覆盖
    2. 判断覆盖
    3. 条件覆盖
    4. 路径覆盖
  2. Unittest组件
    1. test cases
    2. test suites
    3. test fixtures
    4. test runner
  3. Unittest编写规范
    1. 测试模块要先引入import unittest
    2. 测试类必须继承unittest.TestCase
    3. 测试方法必须以 “test_“开头
    4. 模块名字和类名没有特殊要求
  4. Unittest方法函数
    1. setUpClass()-- setUp()前执行
    2. setup()-- 提供准备工作的操作,比如资源初始化,登录等操作
    3. tearDown()-- 对资源清空,断开数据库的执行
    4. tearDownClass()-- tearDown()后执行
    5. assert-- 断言assertEqul()
    6. *****每个case执行前后,都会执行一次setUp()和tearDown(),但setUpClass()和tearDownClass()只执行一次
    7. @unittest.skip()-- 跳过此条case[用例],括号内可设置条件语句
  5. Unittest测试执行
    1. 方法一、unittest.main()-- 执行所有case
    2. 方法二、加入容器执行--unittest.TestSuite() ,suite[测试套件]
      1. suite=unittest.TestSuite()
      2. suite.addTest(TestMethod("test_01"))
      3. suite.addTest(TestMethod("test_02"))
      4. unittest.TextTestRunner().run(suite)
    3. 方法三、同时执行多个类--unittest.TestLoader().loadTestsFromTestCase(TestCase01)
      1. suite1=unittest.TestLoader().loadTestsFromTestCase(TestCase01)
      2. suite2=unittest.TestLoader().loadTestsFromTestCase(TestCase02)
      3. suite=unittest.TestSuite([suite1,suite2])
      4. unittest.TextTestRunner(verbosity=2).run(suite)
    4. 方法四、执行路径下所有测试案例,匹配某个路径下所有的以test开头的py文件,执行这些文件下的所有测试用例。
      1. test_dir="./test_case"
      2. discover=uinittest.defaultTestLoaderdiscover(test_dir,pattern="test*.py")
        1. discover可以一次调用多个脚本
        2. test_dir被测试脚本的路径
        3. pattern脚本名称匹配规则
      3. unittest.TextTestRunner().run(discover)
  6. Unittest执行过程
    1. 首先写好TestCase
    2. 然后由TestLoader加载TestCase到TestSuite
    3. 然后由TextTestRunner来运行TestSuite
    4. 运行的结果保存在TextTestResult中
    5. 整个过程集成在unittest.main()中
    6. TestCase-->>TestLoader-->>TestSuite-->>TextTestResult
  7. Unittest结果TextTestResult如何处理--HTMLTestRunner_PY3
    1. 结合htmltestrunner生成带日志的测试报告
    2. report_title="测试用例执行报告"
    3. desc="用于展示修改样式后的HTMLTestRunner"
    4. report_file="./Report.html"-- 测试报告文件src
    5. suite=unittest.TestSuite()
    6. suite.addTest(TestMethod("test_01"))
    7. suite.addTest(TestMethod("test_02"))
    8. with open(report_file,'wb') as report:
    9. runner=HTMLTestRunner(stream=report,title=report_title,description=desc)
    10. runner.run(testsuite)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值