用猴子补丁的方式解决 python unittest按定义的顺序执行用例
import unittest # 用猴子补丁的方式解决 testcase 按定义的顺序执行用例 from unittest.loader import TestLoader # 自定义一个getTestCaseNames方法, 替换TestLoader中的getTestCaseNames方法 def getTestCaseNames(self, testCaseClass): def isTestMethod(attrname, testCaseClass=testCaseClass, prefix=self.testMethodPrefix): return attrname.startswith(prefix) and \ callable(getattr(testCaseClass, attrname)) testFnNames = [] for testFnName in testCaseClass.__dict__: if isTestMethod(testFnName): testFnNames.append(testFnName) return testFnNames # 替换TestLoader中的getTestCaseNames方法 TestLoader.getTestCaseNames = getTestCaseNames
测试代码
class Test(unittest.TestCase): def setUp(self) -> None: print('setup') def test_b(self): print('test_b') def test_02(self): print('test-02') def test_01(self): print('test-01') def test_a(self): print('test-a') def meth(self): print('meth') if __name__ == '__main__': unittest.main()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步