python-unittest执行顺序
关于unittest框架执行顺序是:
import unittest class TestCases(unittest.TestCase): @classmethod def setUpClass(cls): setattr(unittest.TextTestResult, 'startTestRun', '获取token方法') print("setUPClass") def setUp(self): print("setUP") def testOne(self): print("testone111") def testTwo(self): print("testtwo222") @unittest.skip('跳过') def testA(self): print("testA") @unittest.skipIf(True,'条件真跳过') def testB(self): print("testB") @unittest.skipUnless(False,'条件假跳过') def testC(self): print("testC") @unittest.expectedFailure ##标记该测试预期为失败(断言结果是否为False,为假则测试用例通过) def testD(self): print("testD") def tearDown(self): print("tearDown") @classmethod def tearDownClass(cls): print(getattr(unittest.TextTestResult, 'startTestRun')) print("tearDownClass") if __name__ == '__main__': unittest.main(verbosity=2)
out:
setUPClass
setUP
testD
tearDown
setUP
testone111
tearDown
setUP
testtwo222
tearDown
获取token方法
tearDownClass
关于unittest用例执行顺序是:
根据ASCII码的顺序加载,数字与字母的顺序为:0-9,A-Z,a-z。所以以A开头的测试用例方法会优先执行,以a开头会后执行
""" unittest中测试用例执行顺序 """ import unittest from operator import eq class TestOrder(unittest.TestCase): def test_b(self): print('test_b success') def test_a1(self): print('test_a1 success') def test_c(self): print('test_c success') def test_a2(self): print('test_a2 success') if __name__ == '__main__': def ln(f): return getattr(TestOrder, f) suite = unittest.TestSuite() loader = unittest.TestLoader() # eq(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 loader.sortTestMethodsUsing = lambda a, b: eq(ln(a), ln(b)) suite.addTest(loader.loadTestsFromTestCase(TestOrder)) unittest.TextTestRunner(verbosity=2).run(suite)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人