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:指一条测试用例,也就是一条完整的测试流程;包括测试前环境的准备(SetUp),执行测试代码,以及测试后环境的还原;单元测试(unit test)的本质也就在这里,一条测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一问题进行验证;
  • TestSuite:多个测试用例集合在一起,就是TestSuite;而且TestSuite可以嵌套多个TestSuite;TestLoader是用来加载测试用例到TestSuite的
  • TextTestRunner:是用来执行测试用例的,其中的run会执行TestSuite/TestCase中的Run方法;测试的结果会保存到TextTestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息;
  • Fixture:对一个测试用例环境的搭建和销毁,是一个fixture;

1.常用断言方法

使用方法说明
assertEqual(a, b)判断a == b
assertNotEqual(a, b)判断a != b
assertTrue(x)

判断bool(x) is True

assertFalse(x)判断bool(x) is False
assertIs(a ,b)a is b
assertIsNot(a, b)a is not b
assertIsNone(x)x is None
assertIsNotNone(x)x is not None
assertIn(a, b)a in b
assertNotIn(a, b)a not in b
assertIsInstance(a, b)instance(a, b)
assertNotIsInstance(a, b)not?instance(a, b)

2.用例执行顺序

测试类或测试方法的数字与字母顺序:0~9、a~z

3.TestSuite

1.使用addTest/addTests添加用例到suite

# addTest方法
suite = unittest.TestSuite()                 # 构建测试集
suite.addTest(Test1('test_d'))
runner = unittest.TextTestRunner()           # 构建runner
runner.run(suite)

# addTests方法
suite = unittest.TestSuite()
suite.addTests((Test1('test_d'), Test1('test_a')))     # 传入testcase元组
runner = unittest.TextTestRunner()
runner.run(suite)

2.discover

test_dir = './'
discovery = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
runner = unittest.TextTestRunner()
runner.run(discovery)

3.TestLoader

suite = unittest.TestSuite()
# suite.addTests(unittest.TestLoader().loadTestsFromName('test_add.Test1'))                                                # loadTestsFromName('模块名.类名'))
suite.addTests(unittest.TestLoader().loadTestsFromNames(['test_add.Test1', 'test_add.Test2']))                     # loadTestsFromNames(['模块名.类名', '模块名.类名']))
runner = unittest.TextTestRunner()
runner.run(suite)
suite = unittest.TestSuite()
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(Test1))                # loadTestsFromTestCase(),传入TestCase
runner = unittest.TextTestRunner()
runner.run(suite)

注意:使用TestLoader无法对case进行排序的;同时,suite可以套suite

?4.TextTestResult

1.将结果输出到文件中

suite = unittest.TestSuite()
suite.addTest(Test1('test_d'))
with open ('report.txt', 'a') as f:
     runner = unittest.TextTestRunner(stream=f, verbosity=2)
     runner.run(suite)


跳过某些case

1.skip装饰器

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

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