您现在的位置是:首页 >技术教程 >Unittest单元测试之unittest用例执行顺序网站首页技术教程
Unittest单元测试之unittest用例执行顺序
简介Unittest单元测试之unittest用例执行顺序
↵
软件测试资料领取:[内部资源] 想拿年薪40W+的软件测试人员,这份资料必须领取~
软件测试面试刷题工具领取:软件测试面试刷题【800道面试题+答案免费刷】
Unittest用例执行顺序
当在一个测试类或多个测试模块下,用例数量较多时,unittest在执行用例 (test_xxx)时,并不是按从上到下的顺序执行,有特定的顺序。
unittest框架默认根据ACSII码的顺序加载测试用例,数字与字母的顺序为: 0~9,A~Z,a~z。
对于类来说,class TestAxx 会优先于class TestBxx被执行。对于方法来说,test_aaa()方法会有优先于test_bbb()被执行。对于测试目录与测试文件来说,unittest同样是按照这个规则来加载测试用例的。
方式一、通过测试用例的方法名称:根据ACSII码的顺序加载测试用例
代码示例:
# 测试用例的执行顺序
# 1,通过测试用例的方法名称:根据ACSII码的顺序加载测试用例
import unittest
class Test_case(unittest.TestCase):
# 进行初始化和清理工作
def setUp(self):
print("我是setUp方法,进行测试前的初始化工作")
def tearDown(self) -> None: # 表示该方法没有返回值
print("我是tearDown方法,执行测试后的清除工作")
# 测试用例
def test_bbb(self): # 判断是否在里面
name = ["张飞","马怒","李四"]
self.assertIn("马怒",name)
print("测试test_bbb执行结束")
def test_ccc(self): # 判断4>2
self.assertGreater(4,2)
print("测试test_ccc执行结束")
def test_aaa(self):
a = True
self.assertTrue(a) # 判断是否为真
print("测试test_aaa执行结束")
if __name__ == '__main__':
unittest.main()
查看执行结果:

方式二、通过addtest()添加用例的顺序
代码示例:
# 测试用例的执行顺序
# 2,通过addtest()添加用例的顺序
import unittest
class Test_case(unittest.TestCase):
# 进行初始化和清理工作
def setUp(self):
print("我是setUp方法,进行测试前的初始化工作")
def tearDown(self) -> None: # 表示该方法没有返回值
print("我是tearDown方法,执行测试后的清除工作")
def test_bbb(self): # 判断是否在里面
name = ["张飞","马怒","李四"]
self.assertIn("马怒",name)
print("测试test_bbb执行结束")
def test_ccc(self): # 判断4>2
self.assertGreater(4,2)
print("测试test_ccc执行结束")
def test_aaa(self):
a=True
self.assertTrue(a) # 判断是否为真
print("测试test_aaa执行结束")
if __name__ == '__main__':
suite = unittest.TestSuite() # 测试套件实例
suite.addTest(Test_case("test_bbb")) # 类名(方法名称)
suite.addTest(Test_case("test_aaa"))
suite.addTest(Test_case("test_ccc"))
unittest.main(defaultTest="suite")
查看执行结果

最后感谢每一个认真阅读我文章的人!!!作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

测试文档模板

测试简历模板

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
U8W/U8W-Mini使用与常见问题解决
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结