unittest--套件的使用

简介: unittest--套件的使用

前戏


在前面我们使用如下方式来运行测试用例

if __name__ == '__main__':
    unittest.main()

这样的方式是按照ascii码的顺序来执行的,但有时我们并不想按照ascii来执行,想自定义顺序来执行,这时候就要用到套件了

不使用套件运行

import unittest
class Test_case(unittest.TestCase):
    # def setUp(self):
    #     print('我是前置条件')
    #
   # def tearDown(self):
    #     print('我是后置条件')
    def test01(self):
        print('test01')
    def test02(self):
        print('test02')
    def test03(self):
        print('test03')
    def test04(self):
        print('test04')
    def test05(self):
        print('test05')
if __name__ == '__main__':
    unittest.main()

结果:

.....
test01
test02
test03
test04
test05


使用套件(一个一个添加)


import unittest
class Test_case(unittest.TestCase):
    # def setUp(self):
    #     print('我是前置条件')
    #
   # def tearDown(self):
    #     print('我是后置条件')
    def test01(self):
        print('test01')
    def test02(self):
        print('test02')
    def test03(self):
        print('test03')
    def test04(self):
        print('test04')
    def test05(self):
        print('test05')
if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTest(Test_case('test03'))  # 前面的是类名,后面的是函数名
    suite.addTest(Test_case('test05'))  # 前面的是类名,后面的是函数名
    suite.addTest(Test_case('test01'))  # 前面的是类名,后面的是函数名
    unittest.TextTestRunner().run(suite)

结果:

...
test03
test05
test01

从上面的运行结果可以看出来,我们添加几个就执行几个,没有添加的就不执行,而且执行顺序也是我们添加的顺序

这样一个一个的添加是不是太麻烦了,我们可以批量的添加


批量添加


import unittest
class Test_case(unittest.TestCase):
    # def setUp(self):
    #     print('我是前置条件')
    #
   # def tearDown(self):
    #     print('我是后置条件')
    def test01(self):
        print('test01')
    def test02(self):
        print('test02')
    def test03(self):
        print('test03')
    def test04(self):
        print('test04')
    def test05(self):
        print('test05')
if __name__ == '__main__':
    suite = unittest.TestSuite()
    tests = [Test_case('test03'),Test_case('test01'),Test_case('test05')]  # 放到一个列表里
    suite.addTests(tests)  # 一次加载所有的,用addTests,上面的没s
    runner = unittest.TextTestRunner()
    runner.run(suite)

结果:

...
test03
test01
test05

相关文章
|
3天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1301 3
|
3天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
616 3
|
4天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
10天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
733 5
|
3天前
|
人工智能 自然语言处理 安全
阿里云万小智AI建站:基础版、标准版、企业版主要功能及价格对比和选择参考
阿里云万小智 AI 建站是一款基于 AI 驱动的自助建站产品,无需代码基础,通过可视化拖拽与 AI 对话即可快速构建高性能、多语言、安全合规的网站。系统深度集成阿里云 ECS、RDS、OSS、CDN、SLB 与 Web 应用防火墙,保障高可用性、数据安全与全球访问速度。其提供多个版本,精准匹配从个人工作室到中大型企业的差异化需求。
245 167