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)

  • 相关阅读:
    为什么Redis比Memcached易
    请注意CSDN社区微通道,许多其他的精彩等着你
    采用ACE登录设施(一)HelloWorld
    AIX 7.1 install python
    spring mvc入门
    iOS开展——全球应对MotionEvent
    2015第35周日
    2015第35周六转相见恨晚的知识列表
    2015第35周五JavaScript变量
    2015第35周四
  • 原文地址:https://www.cnblogs.com/shen-qiang/p/9030218.html
Copyright © 2011-2022 走看看