当前位置: 首页 > news >正文

Python+selenium之unittest单元测试(3)关于测试用例执行的顺序

一、测试用例执行的顺序

用例的执行顺序涉及多个层级,在多个测试目录的情况下,先执行哪个目录?在多个测试文件的情况下,先执行哪个文件?在多个测试类的情况下,先执行哪个测试类?,在多个测试方法(用例)的情况下,先执行哪个测试方法?

 1 import unittest
 2 from calculator import Count
 3 
 4 
 5 class TestBdd (unittest.TestCase):
 6     def setUp(self):
 7         print("test TestBdd :")
 8 
 9     def test_ccc(self):
10         print("test ccc")
11 
12     def test_aaa(self):
13         j = Count(2, 4)
14         print("test aaa")
15 
16     def tearDown(self):
17         pass
18 
19 
20 class TestAdd (unittest.TestCase):
21     def setUp(self):
22         print("test TestAdd :")
23 
24     def test_bbb(self):
25         print("test bbb")
26 
27 
28 
29     def tearDown(self):
30         pass
31 
32 
33 if __name__ == '__main__':
34     '''
35     suite = unittest.TestSuite ()
36     suite.addTest (TestAdd ('test_add'))
37     suite.addTest (TestAdd ('test_add2'))
38     suite.addTest (TestSub ('test_sub'))
39     suite.addTest (TestSub ('test_sub2'))
40     run = unittest.TextTestRunner ()
41     run.run (suite)
42 '''
43     unittest.main()

unittest框架默认会根据ASCII码的顺序加载测试用例,数字和字母的顺序为:0-9,a-z,A-Z.所以TestAdd类会优先于TestBdd类被执行,test_aaa()方法会优先于test_ccc()被执行,因而并没有按照用例从上到下的顺序执行。因而它并没有按照用例从上到下执行的顺序执行。

假如想要按照指定的顺序执行测试用例,就不能使用默认的main()函数,而是需要通过TestSuite()类的addTest()方法按照一定的顺序加载。

 1 import unittest
 2 from calculator import Count
 3 
 4 
 5 class TestBdd (unittest.TestCase):
 6     def setUp(self):
 7         print("test TestBdd :")
 8 
 9     def test_ccc(self):
10         print("test ccc")
11 
12     def test_aaa(self):
13         j = Count(2, 4)
14         print("test aaa")
15 
16     def tearDown(self):
17         pass
18 
19 
20 class TestAdd (unittest.TestCase):
21     def setUp(self):
22         print("test TestAdd :")
23 
24     def test_bbb(self):
25         print("test bbb")
26 
27 
28 
29     def tearDown(self):
30         pass
31 
32 
33 if __name__ == '__main__':
34     suite = unittest.TestSuite ()
35     suite.addTest (TestBdd ('test_ccc'))
36     suite.addTest (TestBdd ('test_aaa'))
37     suite.addTest (TestAdd ('test_bbb'))
38     # suite.addTest (TestSub ('test_sub2'))
39     run = unittest.TextTestRunner ()
40     run.run (suite)
41 
42     # unittest.main()

现在的执行顺序是addTest()方法所加载的顺序。discover()的加载测试用例的规则与main()方法相同。所以,我们只能通过测试用例的命名来提高被执行的优先级。例如,将希望先被执行的测试用例命名为“test_a”,将希望最后执行的测试用例命名为“test_z”

二、执行多级目录的用例

在对应的测试过程中,有控制web用例的数量,但是当测试用例达到一定的量级,就要考虑划分目录

 

转载于:https://www.cnblogs.com/fengyiru6369/p/7575473.html

相关文章:

  • 学生与部门管理app-产品功能与界面的简单设计
  • HashMap分析及散列的冲突处理
  • liunx 部分
  • 怎么自定义修改CnBlogs博客园主题模板css样式
  • selenium之 chromedriver与chrome版本映射表(更新至v2.32)
  • 简易RPC框架-私有协议栈
  • apt软件管理
  • SPSS超详细操作:分层回归(hierarchical multiple regression)
  • position: absolute;绝对定位水平居中问题
  • Java 深复制和浅复制
  • 【highlight.js】页面代码高亮插件
  • mxnet的训练过程——从python到C++
  • Nengo 神经网络
  • Linux正则和grep命令
  • Azure 中 Linux 虚拟机的大小
  • 【5+】跨webview多页面 触发事件(二)
  • 【RocksDB】TransactionDB源码分析
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Elasticsearch 参考指南(升级前重新索引)
  • happypack两次报错的问题
  • java正则表式的使用
  • Magento 1.x 中文订单打印乱码
  • text-decoration与color属性
  • use Google search engine
  • 对JS继承的一点思考
  • 技术:超级实用的电脑小技巧
  • 通过几道题目学习二叉搜索树
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • Hibernate主键生成策略及选择
  • Semaphore
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • $GOPATH/go.mod exists but should not goland
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (Forward) Music Player: From UI Proposal to Code
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (九)One-Wire总线-DS18B20
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (七)Java对象在Hibernate持久化层的状态
  • (算法二)滑动窗口
  • (学习日记)2024.01.19
  • (转载)(官方)UE4--图像编程----着色器开发
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [android] 请求码和结果码的作用
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作
  • [ASP]青辰网络考试管理系统NES X3.5
  • [BZOJ5250][九省联考2018]秘密袭击(DP)
  • [C#]科学计数法(scientific notation)显示为正常数字