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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> unittest笔记 -> 正文阅读

[开发测试]unittest笔记

作者:recommend-item-box type_blog clearfix

概念解释

test fixture

测试脚手架 包括测试前的准备工作以及测试后的清理工作

test case

独立测试单元; 可以继承TestCase来新建测试用例

  • 继承即创建一个case, 要以Test为类名的开始

  • 类中的测试方法,要以test_为开头

test suite

测试用例的集合

test runner

执行与输出结果的组件

执行

main函数中 unittest.main()

命令行

python -m unittest test_module1 test_module2
python -m unittest test_module.TestClass
python -m unittest test_module.TestClass.test_method
?
python -m unittest tests/test_something.py

参数说明:

  • -b 丢弃成功执行信息;输出错误信息

  • -c 避免ctrl+c 退出测试

  • -f 出现错误即停止测试

  • -k 只运行匹配模式的测试方法和类

discover

python -m unittest discover

参数:

  • -v 输出详细结果

  • -s 开始搜索的目录, 默认为当前目录

  • -p 搜索字符串 默认 test*.py

  • -t 指定项目最上层目录, 默认为开始时目录

编写用例

测试用例

  • 继承unittest.TestCase

  • 实现一些test_开头的方法, 作为测试步骤

  • setUp函数 , 每次执行测试步骤前,都会执行该函数, 作为预处理

  • tearDown函数, 每次执行测试步骤后, 都会执行该函数, 作为后处理

  • setUpClass在测试case执行前执行, 需要加上@classmethod注释

  • tearDownClass 在测试case执行后执行, 需要加上@classmethod注释

测试套件

def suite():
 ? ?suite = unittest.TestSuite()
 ? ?suite.addTest(WidgetTestCase('test_default_widget_size'))
 ? ?suite.addTest(WidgetTestCase('test_widget_resize'))
 ? ?return suite
?
if __name__ == '__main__':
 ? ?runner = unittest.TextTestRunner()
 ? ?runner.run(suite())

打包测试方法

FunctionTestCase(test方法, setUp=与处理函数, tearDown=后处理函数)

跳过测试

支持定义在方法上,也支持在类上

  • @unittest.Skip(“说明”)

  • @unittest.SkipIf(条件语句,"说明")

  • @unittest.Unless(条件语句,"说明")

预计失败

@unittest.expectedFailure

断言

  • 相等/不相等

  • 布尔

  • Is/IsNot

  • IsNone/IsNotNone

  • In/NotIn

  • IsInstance/NotIsInstance

  • Raises 预期异常

  • RaiseRegex

  • Warns

  • WarnsRegex

  • AlmostEqual/NotAlmostEqual

  • Greter/GreaterEqual

  • Less/LessEqual

  • Regex/NotRegex 正则判断

  • CountEqual 断言 第一个序列包含第二个序列同样的元素 相当于assertEqual(Counter(list(first)), Counter(list(second)))

  • TypeEqualityFunc (typeobj,function) 自定义方法比较

  • MultiLineEqual 多行字符串比较

  • SequenceEqual 比较两个序列

  • ListEqual

  • TupleEqual

  • SetEqual

  • DictEqual

其他方法:

  • fail 失败

  • failureException 失败异常

  • longMessage

unitest.mock

from unittest.mock import MagicMock

from unittest.mock import MagicMock
?
thing = ProductionClass() ? # 自定义类
thing.method = MagicMock(return_value=3)    # mock方法,指定返回值
thing.method(3,4,5,key='value') ? # 调用方法
thing.method.assert_called_with(3,4,5,key='value')  # 断言调用方法

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:59:46  更:2021-08-18 13:00:55 
 
开发: 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/17 20:29:50-

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