python修改python unittest的运行顺序
正常是一个测试类中按函数名字运行,
下面修改成直接按每个测试方法的代码顺序执行
文件 unittest_util.py
import time
import unittest
from app.utils.utils_ydf import mixins skip = unittest.skip class TestCase(mixins.LoggerMixin, unittest.TestCase): # 不需要日志的人,可以不继承第一个类。
@classmethod
def tearDownClass(cls):
cls.logger.debug('---------------------------------所有用例完成-----------------------------')
time.sleep(200000) def run(test_class):
"""
测试用例执行顺序使用函数的所处行数来,即直上至下,不按照默认的函数名字来执行
:param test_class: 测试用例的类名
:return:
"""
func_first_no = lambda f: getattr(test_class, f).__code__.co_firstlineno def func_first_no_cmp(funa, funb):
if func_first_no(funa) > func_first_no(funb):
return 1
elif func_first_no(funa) == func_first_no(funb):
return 0
else:
return -1 loader = unittest.TestLoader()
loader.sortTestMethodsUsing = func_first_no_cmp
case1 = loader.loadTestsFromTestCase(test_class)
suite = unittest.TestSuite([case1, ])
unittest.TextTestRunner(verbosity=2).run(suite)
# unittest.main(testLoader=loader, verbosity=2) # 也可以
使用方法示例,import 这个文件
class _Test(unittest_util.TestCase):
@classmethod
def setUpClass(cls):
cls.deploy_ydf = HotelFaresDeploy('ydf')
cls.deploy_test = HotelFaresDeploy('test') @unittest_util.skip
def test_run_all_thread(self):
"""重新运行所有"""
self.deploy_test.run_pyhton_file(ctrip)
self.deploy_test.run_pyhton_file(elong) # @unittest_util.skip
def test_query_process_thread(self):
"""查询所有thread名称的进程"""
self.deploy_test.query_process('_thread') if __name__ == '__main__':
unittest_util.run(_Test)
这样就是按代码顺序执行了,不需要在函数上加个数字做记号了。
谁写在上面就先执行谁。
python修改python unittest的运行顺序的更多相关文章
- 翻译文章“AST 模块:用 Python 修改 Python 代码”---!!注意ironpathyon未实现此功能
https://github.com/upsuper/blog/commit/0214fdd084c4adf2de2ed9912d644fb59ce13a1c +Title: [翻译] AST 模块: ...
- 第二种方式,修改python unittest的执行顺序,使用猴子补丁
1.按照测试用例的上下顺序,而不是按方法的名称的字母顺序来执行测试用例. 之前的文章链接 python修改python unittest的运行顺序 之前写的,不是猴子补丁,而是要把Test用例的类名传 ...
- 一文搞懂Python Unittest测试方法执行顺序
大家好~我是米洛! 欢迎关注我的公众号测试开发坑货,一起交流!点赞收藏关注,不迷路. Unittest unittest大家应该都不陌生.它作为一款博主在5-6年前最常用的单元测试框架,现在正被pyt ...
- Pycharm上python运行和unittest运行两种执行方式解析
前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告,为什么别人运行结果跟我的不一样啊... 这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittes ...
- python 单元测试(unittest)
自动化测试在各大互联网公司全面铺开,那么针对于自动化测试好的设计思想有哪些呢?.....今天我们共同探讨下Unittest之数据驱动(DDT是 “Data-Driven Tests”的缩写). 对于接 ...
- Python单元测试框架unittest之深入学习
前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...
- 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承
前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...
- Python3 Selenium自动化web测试 ==> 第一节 起始点之Python单元测试框架 unittest
前置步骤 Python版本:3.6.4 selenium版本:3.11.0 >>> import selenium >>> help(selenium) IDE:P ...
- python 修改文件的创建时间、修改时间、访问时间
目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改. ...
随机推荐
- [lsof]lsof查看哪些设备/文件被占用或者打开
转自:http://blog.csdn.net/yuzhihui_no1/article/details/51767516 最近在查一个Bug,应用程序kill之后重启,总是会出现adc的设备open ...
- java进程的守护进程脚本
当jar程序执行异常中断时,希望系统能够自动启动.通过以下shell脚本监控程序一直运行. #/bin/bash while true; do count=`ps -ef | grep test.ja ...
- jQuery(十):CSS-DOM操作
除了css()以外,还有获取和设置元素高度.宽度.相对位置等的样式操作方法,语法如下: 高度和宽度示例: <!DOCTYPE html> <html lang="en&qu ...
- css实现圆形头像
<div style="width:400px; height:90px; padding-left:10px; padding-top:10px; background-color: ...
- 数组新增,修改json数据
1.向数组中添加json数据 var arr=[]; var json = {"name":"apple","color":"re ...
- 想做web开发 就学JavaScript
有一天我被问到,为了快速地在 web 开发工作上增加优势,应该学习什么语言.我的思绪回到了大学,那时候我用 Pascal.Fortran.C和汇编语言,不过那个时候有不同的目标. 鉴于当前的状况和趋势 ...
- Java调用SQL Server存储过程
1.调用普通存储过程(1)创建存储过程CREATE Procedure [dbo].[GetContactListByName] /*根据联系人姓名获取联系人信息*/@Name nvarchar(5 ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (五)
3DMax方面所涉及的专业知识: (1)一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. (2)骨骼架设:首先 ...
- altium designer 软件常用技巧总结(实时更新)
1.在使用altium designer画PCB时,在PCB界面画线找不到焊盘的中心点,将输入法切换到英文状态,按键盘D---O---勾选snap to object hotspots即可. 2.想高 ...
- redis、kafka、rabittMQ对比
本文不对三者之间的性能进行对比,只是从三者的特性上区分他们,并指出三者的不用应用场景. 1.publish/subscribe 发布订阅模式如下图所示可以具有多个生产者和发布者,redis.kafka ...