正常是一个测试类中按函数名字运行,

下面修改成直接按每个测试方法的代码顺序执行

文件 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的运行顺序的更多相关文章

  1. 翻译文章“AST 模块:用 Python 修改 Python 代码”---!!注意ironpathyon未实现此功能

    https://github.com/upsuper/blog/commit/0214fdd084c4adf2de2ed9912d644fb59ce13a1c +Title: [翻译] AST 模块: ...

  2. 第二种方式,修改python unittest的执行顺序,使用猴子补丁

    1.按照测试用例的上下顺序,而不是按方法的名称的字母顺序来执行测试用例. 之前的文章链接 python修改python unittest的运行顺序 之前写的,不是猴子补丁,而是要把Test用例的类名传 ...

  3. 一文搞懂Python Unittest测试方法执行顺序

    大家好~我是米洛! 欢迎关注我的公众号测试开发坑货,一起交流!点赞收藏关注,不迷路. Unittest unittest大家应该都不陌生.它作为一款博主在5-6年前最常用的单元测试框架,现在正被pyt ...

  4. Pycharm上python运行和unittest运行两种执行方式解析

    前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告,为什么别人运行结果跟我的不一样啊... 这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittes ...

  5. python 单元测试(unittest)

    自动化测试在各大互联网公司全面铺开,那么针对于自动化测试好的设计思想有哪些呢?.....今天我们共同探讨下Unittest之数据驱动(DDT是 “Data-Driven Tests”的缩写). 对于接 ...

  6. Python单元测试框架unittest之深入学习

    前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...

  7. 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承

    前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...

  8. Python3 Selenium自动化web测试 ==> 第一节 起始点之Python单元测试框架 unittest

    前置步骤 Python版本:3.6.4 selenium版本:3.11.0 >>> import selenium >>> help(selenium) IDE:P ...

  9. python 修改文件的创建时间、修改时间、访问时间

    目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改. ...

随机推荐

  1. [lsof]lsof查看哪些设备/文件被占用或者打开

    转自:http://blog.csdn.net/yuzhihui_no1/article/details/51767516 最近在查一个Bug,应用程序kill之后重启,总是会出现adc的设备open ...

  2. java进程的守护进程脚本

    当jar程序执行异常中断时,希望系统能够自动启动.通过以下shell脚本监控程序一直运行. #/bin/bash while true; do count=`ps -ef | grep test.ja ...

  3. jQuery(十):CSS-DOM操作

    除了css()以外,还有获取和设置元素高度.宽度.相对位置等的样式操作方法,语法如下: 高度和宽度示例: <!DOCTYPE html> <html lang="en&qu ...

  4. css实现圆形头像

    <div style="width:400px; height:90px; padding-left:10px; padding-top:10px; background-color: ...

  5. 数组新增,修改json数据

    1.向数组中添加json数据 var arr=[]; var json = {"name":"apple","color":"re ...

  6. 想做web开发 就学JavaScript

    有一天我被问到,为了快速地在 web 开发工作上增加优势,应该学习什么语言.我的思绪回到了大学,那时候我用 Pascal.Fortran.C和汇编语言,不过那个时候有不同的目标. 鉴于当前的状况和趋势 ...

  7. Java调用SQL Server存储过程

    1.调用普通存储过程(1)创建存储过程CREATE Procedure [dbo].[GetContactListByName]  /*根据联系人姓名获取联系人信息*/@Name nvarchar(5 ...

  8. 自然语言交流系统 phxnet团队 创新实训 项目博客 (五)

    3DMax方面所涉及的专业知识:                       (1)一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. (2)骨骼架设:首先 ...

  9. altium designer 软件常用技巧总结(实时更新)

    1.在使用altium designer画PCB时,在PCB界面画线找不到焊盘的中心点,将输入法切换到英文状态,按键盘D---O---勾选snap to object hotspots即可. 2.想高 ...

  10. redis、kafka、rabittMQ对比

    本文不对三者之间的性能进行对比,只是从三者的特性上区分他们,并指出三者的不用应用场景. 1.publish/subscribe 发布订阅模式如下图所示可以具有多个生产者和发布者,redis.kafka ...