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

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

文件 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. android开发(42) 使用andorid操作蓝牙打印机

    最近接到一个需求,使用android发起打印任务,通过蓝牙连接打印机.条件如下: 打印机:南京富士通DPK760E,具有蓝牙功能 Android手机:普通手机,Android 4.4版本,具有蓝牙功能 ...

  2. jquery操作select取值赋值与设置选中[转]

    本节内容:jquery实现select下拉框的取值与赋值,设置选中的方法大全. 比如<select class="selector"></select> 1 ...

  3. CSS2.0中最常用的18条技巧

    一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.  具体内容请浏览:CSS常用缩写语法 二.明确定义单位,除非值为0. 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中 ...

  4. chrome误删了bookmarks且已经同步清空了google云端的挽救方式

    收藏夹里被误删文件恢复步骤:1.快捷键 Win+R 输入 Chrome 的用户数据路径:Windows XP:%USERPROFILE%\Local Settings\Application Data ...

  5. 《FPGA全程进阶---实战演练》第十一章 VGA五彩缤纷

    1基础理论部分 VGA(video graphics array)即视频图形阵列,是IBM在1987年随PS/2一起推出的使用模拟信号的一种视频传输标准.VGA相比与现在的视频传输接口来说已经过时,不 ...

  6. 去掉WIN7 桌面图标的小箭头

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" ...

  7. python 判断一个对象的变量类型

    isinstance   语法: isinstance(object, classinfo) 如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, ...

  8. Java如何停止线程?

    在Java编程中,如何停止线程? 以下示例演示了如何通过创建一个用户定义的方法run()方法和Timer类来停止线程. package com.yiibai; import java.util.Tim ...

  9. C++ namespace的用法

    //namesp.h namespace pers{     const int LEN = 40;     struct Person{         char fname[LEN];       ...

  10. [ACM] POJ 1611 The Suspects (并查集,输出第i个人所在集合的总人数)

    The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 21586   Accepted: 10456 De ...