python接口自动化测试 —— unittest框架suite、runner详细使用_pytest 的runner运行控制器

8 ----------------------------------------------------------------------
9 Ran 6 tests in 0.000s
10
11 OK


#### 包含知识点


* 使用测试套件时,测试用例的执行顺序可以自定义,按照添加的顺序执行
* 有两种添加测试用例的方式,推荐方式二,代码更少更快捷
* ,传入的 tests 可以是list、tuple、set


addTests(tests)


* 添加的测试用例格式是:


单元测试类名(测试用例名)


* 使用测试套件执行测试用例的大致步骤是:实例化TestSuite - 添加测试用例 - 实例化TextTestRunner - 运行测试套件
* 测试套件也可以添加测试套件



现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036



![](https://img-blog.csdnimg.cn/img_convert/9100980b9d1abd27165017fbc77bac62.png)


### 测试用例批量执行


#### 单元测试类文件


![](https://img-blog.csdnimg.cn/img_convert/e791a384a7eb000b884fb3c6eb4ccbd7.png)


前三个文件是包含了单元测试类的文件,第四个文件是负责运行所有单元测试类,不包含测试用例


列举某个单元测试类文件代码



1 # 创建单元测试类,继承unittest.TestCase
2 class testCase02(unittest.TestCase):
3
4 # 测试case
5 def test_07(self):
6 print(“testCase02 test07”)
7
8 def test_06(self):
9 print(“testCase02 test06”)
10
11 def test_11(self):
12 print(“testCase02 test11”)


#### test\_run.py 代码


#### **批量运行测试用例方式一:**



1 import unittest
2 from learn.unittestLearning import test_case02
3 from learn.unittestLearning.test_case03 import testCase03
4
5 if name == ‘main’:
6 # 通过模块
7 testcase02 = unittest.TestLoader().loadTestsFromModule(test_case02)
8 # 通过单元测试类
9 testcase03 = unittest.TestLoader().loadTestsFromTestCase(testCase03)
10 # 通过模块字符串
11 testcase04 = unittest.TestLoader().loadTestsFromName(‘learn.unittestLearning.test_case04’)
12 # 测试用例集
13 tests = [testcase02, testcase03, testcase04]
14 # 创建测试套件
15 suite = unittest.TestSuite(tests)
16 # 运行测试套件
17 unittest.TextTestRunner(verbosity=2).run(suite)


#### 包含知识点


* :testCaseClass输入单元测试类,但需要先import


loadTestsFromTestCase(testCaseClass)


* :module输入单元测试类所在模块,也需要import


loadTestsFromModule(module, pattern=None)


* :name是一个string,需满足以下格式: module.class.method ,可以只到输入到class


loadTestsFromName(name, module=None)


* :表示测试结果的信息详细程,一共三个值,默认是1
	+ 0 (静默模式):你只能获得总的测试用例数和总的结果 比如 总共100个 失败20 成功80
	+ 1 (默认模式):非常类似静默模式 只是在每个成功的用例前面有个 每个失败的用例前面有个 F
	+ 2 (详细模式):测试结果会显示每个测试用例的所有相关的信息


verbosity


#### **批量运行测试用例方式二(推荐!!):**



1 import unittest
2
3 if name == ‘main’:
4 # 需要运行的单元测试文件目录
5 test_path = ‘./’
6 # 实例化defaultTestLoader
7 discover = unittest.defaultTestLoader.discover(start_dir=test_path, pattern=“test_case*.py”)
8 # 运行测试用例集
9 unittest.TextTestRunner().run(discover)


**优点:**是不是简洁。。是不是很快??只需三行代码!!


#### 包含知识点


* :写需要运行的单元测试文件目录


start\_dir


* :单元测试文件的匹配规则,默认是 test\*.py ,可根据自己的命名规则修改此正则


pattern


* 方法可自动根据测试目录start\_dir 匹配查找测试用例文件 test\*.py ,并将查找到的测试用例组装到测试套件,因此可以直接通过 run() 方法执行 discover


discover()


#### 批量执行测试用例的结果



1 testCase02 test06
2 testCase02 test07
3 testCase02 test11
4 testCase03 test05
5 testCase03 test08
6 testCase03 test12
7 testCase04 test02
8 testCase04 test04
9 testCase04 test13
10 …
11 ----------------------------------------------------------------------
12 Ran 9 tests in 0.000s
13
14 OK



> 
> 最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
> 
> 
> 


**喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!**          


![img](https://img-blog.csdnimg.cn/img_convert/12fefd91524b82b97f3f2a1223f7509a.png)
![img](https://img-blog.csdnimg.cn/img_convert/034b1ac512e8297c2807e9b3feb3b993.png)
![img](https://img-blog.csdnimg.cn/img_convert/855126d07e61d5f95198186743400ec8.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

   


[外链图片转存中...(img-g8019xVJ-1719235154069)]
[外链图片转存中...(img-OZPG71KY-1719235154070)]
[外链图片转存中...(img-N4a3f13d-1719235154070)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值