博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python修改python unittest的运行顺序
阅读量:5774 次
发布时间:2019-06-18

本文共 1699 字,大约阅读时间需要 5 分钟。

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

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

 

文件 unittest_util.py

 

import timeimport unittestfrom app.utils.utils_ydf import mixinsskip = unittest.skipclass 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)

 

这样就是按代码顺序执行了,不需要在函数上加个数字做记号了。

谁写在上面就先执行谁。

 

转载地址:http://kcaux.baihongyu.com/

你可能感兴趣的文章
duilib+cef自定义浏览器控件编译错误
查看>>
PF_RING 总结
查看>>
Java字符串中常用字符占用字节数
查看>>
(原创)Python字符串系列(1)——str对象
查看>>
离散化
查看>>
UVALive 5052 Genome Evolution ——(xjbg)
查看>>
OpenCV学习系列教程第四篇:图像的算术操作
查看>>
虚拟环境建立相关操作
查看>>
一篇文章
查看>>
单例模式
查看>>
动态规划---将一个整数m分成n个整数之和
查看>>
window.open 打开新窗口被拦截的其他解决方法
查看>>
5月8日跨域问题总结
查看>>
pdf导出之TCPDF类
查看>>
ACM算法集锦
查看>>
BZOJ4519[Cqoi2016]不同的最小割——最小割树+map
查看>>
集群部署的单体项目怎么实现解决session问题
查看>>
MYSQL数据库设计规范与原则
查看>>
小米鼠标垫功能奇异 价格也不贵
查看>>
linux主机名 hostname
查看>>