python修改python unittest的运行顺序
2018-06-26 19:12
836 查看
正常是一个测试类中按函数名字运行,
下面修改成直接按每个测试方法的代码顺序执行
文件 unittest_util.py
使用方法示例,import 这个文件
这样就是按代码顺序执行了,不需要在函数上加个数字做记号了。
谁写在上面就先执行谁。
下面修改成直接按每个测试方法的代码顺序执行
文件 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 unittest的执行顺序,使用猴子补丁
- Python unittest discover()方法与执行顺序补充
- 用命令行运行python所有的unittest文件
- python unittest控制用例的执行顺序
- python的unittest框架用例失败重运行解决方法
- Python中unittest 用不同的参数组合,测试同样的行为;使test case根据参数多次运行
- python:解决pycharm运行py文件时只有unittest选项的方法
- 从python run 和python unittest两种eclipse运行方式深入理解if __name__ == "__main__"
- selenium-python编写unittest运行代码时候不执行
- Macaca+HTMLTestRunner测试报告模式修改,基于python unittest 测试框架扩展
- python单元测试unittest实例详解
- HTMLTestRunner修改成Python3版本
- python unittest 之mock学习笔记
- python unittest.TestLoader()类的几种寻找testcase的方法的使用
- .net 服务器事件和客户端js事件的执行顺序以及在脚本运行前定义脚本要修改的 HTML 元素
- Pycharm上python unittest不执行"if __name__ == '__main__' "问题or选择非unittest run
- Selenium-Webdriver(python) (六) --- Unittest框架分析
- 32.Python的单元测试工具——unittest(初级)
- python unittest 自动化测试