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()
查看执行结果:
# 测试用例的执行顺序
# 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")
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
原文地址:https://blog.csdn.net/2301_78276982/article/details/134743282
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_22306.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。