zoukankan      html  css  js  c++  java
  • UnitTest测试框架-操作步骤

    一、UnitTest

    1. TestCase
    说明:测试用例
    1.新建类并集成unittest.TestCase
    2. TestSuite
    说明:测试套件(多条用例)
    方法:
    1. 实例化 suite=unittest.TestSuite()
    2. 添加:
    方式1---->suite.addTest(类名("指定的方法名称"))
    方式2---> suite.addTest(unittest.makeSuite(类名))
    方法3---> suite=unittest.defaultTestLoader.discover(".",pattern="test*.py")【重点】
    说明:返回搜索指定目录下指定开头的py文件内test开头的方法, --->其实返回的是测试套件

    3. TextTestRunner
    说明:执行测试套件
    方法:
    1. 实例化 runner=unittest.TextTestRunner()
    2. 调用:runner.run(测试套件)
    4. Fixture
    说明:两个函数(setUp、tearDown)
    作用:
    1. setUp:(首先会被执行,一般做初始化工作)
    2. tearDown:(最后被执行,一般做结束工作)

    二、断言
    掌握:
    1. assertEqual(arg1, arg2) 验证arg1=arg2,不等则fail 【掌握】
    2. assertIn(arg1, arg2) 验证arg1是arg2的子串,不是则fail【掌握】
    注意:断言捕获异常,必须为:AssertionError

    扩展:
    添加时间戳:nowtime=time.strftime("%Y_%m_%d %H_%M_%S")
    添加错误信息:sys.exc_info()[1]---->注意:except AssertionError:内捕获错误信息
    三、生成HTML报告
    1. 复制HTMLTestRunner.py文件到项目文件夹
    2. 导入HTMLTestRunner、UnitTest包
    3. discover加载要执行的用例
    (discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py"))
    4. 设置报告生成路径和文件名
    (file_name=file_dir+nowtime+"Report.html")
    5. 打开报告 with open(file_name,'wb') as f:
    6. 实例化HTMLTestRunner对象:runner=HTMLTestRunner(stream=f,[title],[description])
    参数说明:
    (stream:文件流,打开写入报告的名称及写入编码格式)
    (
    [],为可选;
    title为报告标题,如XXX自动化测试报告
    description:为说明;比如操作系统、浏览器等版本
    )
    7. 执行:runner.run(discover)

  • 相关阅读:
    图像语义分割出的json文件和原图,用plt绘制图像mask
    windows用ffmpeg实现视频剪切
    ubuntu下python3.6.5import tensorflow显示非法指令(核心已转储)
    ubuntu下安装3.6.5
    ubuntu下安装python3.6.5导入ssl模块失败
    仿scikit-learn模式写的kNN算法
    python读写csv文件
    图像描点标注-labelme的安装及使用
    python的java胶水(jpype1)
    一个有python扩展库的下载网站
  • 原文地址:https://www.cnblogs.com/shen-qiang/p/9030218.html
Copyright © 2011-2022 走看看