IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> python测试框架unittest -> 正文阅读

[开发测试]python测试框架unittest

?

  • UnitTest主要包含的内容

    • TestCase(测试用例)

    • TestSuite(测试套件,把多个TestCase集成到一个测试)

    • TestRunner(执行测试用例)

    • TestLoader(自动从代码中加载多个测试用例)

    • Fiture(UnitTest特性)

  • TestSuite使用

    • 实例化 suite=unittest.TestSuite()

    • 添加用例 suite.addTest(ClassName("MethodName"))

    • 添加扩展 suite.addTest(unittest.makeSuite(ClassName))

    • 执行 :使用TextTestRunner执行测试用例和测试套件

      • 实例化 runner = unittest.TextTestRunner()

      • 执行 runner.run(suite)

  • TestLoader:工作常用,更加简单,discover()方法自动查找py,自动加载py文件中方法

    • 使用:suite=unittest.TestLoader().discover("路径","xxx.py")

      runner = unittest.TextTestRunner()

      runner.run(suite)

  • TestSuite与TestLoader区别

    • TestSuite需要手动添加测试用例

    • TestLoader搜索指定目录下指定开头.py文件,并添加测试类中的所有的测试方法,不能指定添加测试方法

  • setUp和tearDown的区别

    • 必须继承unittest.TestCase类,setUp、tearDown才是一个Fiture

    • setUp、tearDown:如果一个类中有多个测试用例,每执行一个测试用例之前会调用一次setUp,之后会调用一次tearDown

    • setUpClass、tearDownClass:如果一个类中有多个测试用例,执行所有测试用例之前只会调用一次setUpClass,之后只会调用一次tearDownClass

    • setUpModule、tearDownModule:只有在import导入这个模块时会调用一次setUpModule,模块使用完成之后会调用一次tearDownModule

    • setUpXXX:一般做初始化工作

    • tearDownXXX:一般做结束工作

  • unittest的常用断言方法

    • assertTrue(expr, msg=None) —— 验证expr是否正确

    • assertFalse(expr, msg=None) —— 验证expr是否错误

    • assertEqual(预期结果,实际结果) —— 验证预期和实际是否一致

    • assertNotEqual(预期结果,实际结果) —— 验证预期和实际是否不等

    • assertIsNone() —— 验证是否为空

    • assertIsNotNone() —— 验证是否不为空

    • assertIn() —— 验证是否在里面

    • assertNotIn() —— 验证是否不在里面

  • unittest参数化

    ?

    • 使用步骤

      • 导入from parameterized import parameterized

      • 函数装饰器@parameterized.expand([(), ()])

      • 或者设置list1全局变量

      • 或者将list1写在函数里面后调用

  • unittest跳过

    • @unittest.skip()

    • 注释掉

  • unittest测试报告

    • TextTestRunner格式的测试报告

      • 第一步:file = open(xxx.txt, "w", encoding="utf8")

      • 第二步:

        runner=TextTestRunner(stream=file,verbosity=2)

      • 第三步:runner.run(suite)

      • 第四步:file.close()

    • HTML版的测试报告

      • 第一步:复制HTMLTestRunner.py文件到项目文件夹

      • 第二步:导入HTMLTestRunner、unittest包

      • 第三步:生成测试套件suite=unittest.TestLoader().discover("./", "test*.py")

      • 第四步:以只写方式打开测试报告文件f=open("test01.html", "wb")

      • 第五步:实例化HTMLTestRunner对象

        runner=HTMLTestRunner(stream=f,title="自动化测试报告", description="Chrome浏览器")

        stream ---- open函数打开的文件流

        title ---- 报告标题

      • 第六步:执行runner.run(suite)

      • 第七步:关闭文件f.close()

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:36:19  更:2021-09-29 10:38:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:29:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码