zoukankan      html  css  js  c++  java
  • Python测试框架unittest

    Python测试框架unittest

    一、unittest框架

    (1)unittest特点

    1、python自带的单元测试框架,不需要安装

    2、用例执行互不干扰

    3、提供不同范围的setUp和tearDown方法

    4、提供断言方法

    5、可通过discover批量执行所有模块的用例

    6、可通过TestSuite灵活组织用例

    (2)unittest的几大组成部分

    1、TestCase:用例对象,编写测试用例需要继承该类,才拥有TestCase的属性和方法

    2、TestSuite:测试集或测试套件,测试用例的集合,用来组织用例,支持嵌套

    3、TestLoader:用例加载器,用于想TestSuite中添加用例

    4、TextTestRunner:用例执行器,输出文本结果

    二、用例编写

    1、新建.py文件

    2、导入unittest

    3、编写Test开头(必须)的类,并继承unittest.TestCase作为测试类,一个模块或者一个接口新建一个类

    4、在类中编写test_开头的方法,作为测试用例,一条测试用例新建一个方法

    三、用例包裹方法

    setUp()/tearDown():每个用例执行前/后执行一次

    setUpClass()/tearDownClass():每个测试类加载时/结束时执行一次

    四、用例组织及运行

    1、新建TestSuite并添加测试用例

    #coding=utf-8
    import unittest
    from test_user_login import TestUserLogin

    suite=unittest.TestSuite()
    suite.addTest(TestUserLogin('test_user_login_wrong'))
    suite.addTest(TestUserLogin('test_user_login_normal'))
    # suite.addTests([TestUserLogin('test_user_login_normal'),TestUserLogin('test_user_login_wrong')]) 添加多个用例
    unittest.TextTestRunner(verbosity=2).run(suite) #运行顺序为添加到suite中的顺序

    2、使用makeSuite

    #coding=utf-8
    import unittest
    from test_user_login import TestUserLogin

    suite=unittest.makeSuite(TestUserLogin,'test_user_login_normal') #使用测试类的单条用例制作测试集
    #suite=unittest.makeSuite(TestUserLogin) #使用整个测试类制作测试集
    unittest.TextTestRunner(verbosity=2).run(suite)

    3、使用TestLoader(用例加载器)生成测试集

    import unittest
    from test_user_login import TestUserLogin

    suite=unittest.TestLoader().loadTestsFromTestCase(TestUserLogin)
    unittest.TextTestRunner(verbosity=2).run(suite)

    4、使用discover(用例发现)遍历所有用例

    import unittest

    suite=unittest.defaultTestLoader.discover("./")
    unittest.TextTestRunner(verbosity=2).run(suite)

    5、测试集嵌套

    import unittest
    from test_user_login import TestUserLogin

    suite1=unittest.TestSuite()
    suite1.addTest(TestUserLogin('test_user_login_normal'))
    suite2=unittest.makeSuite(TestUserLogin)
    suite=unittest.TestSuite([suite1,suite2])
    unittest.TextTestRunner(verbosity=2).run(suite)
  • 相关阅读:
    vscode oom
    增加路由,改变请求出口网卡,改变请求目的IP
    autossh监听端口monitor port
    远程计划任务管理器(schtasks)
    《深入浅出MySQL++数据库开发优化与管理维护》 PDF 下载
    鸟哥的LINUX私房菜_基础学习篇(第三版) PDF 下载
    《Spark快速大数据分析》 PDF 下载
    《Hadoop全权威指南第三版(原版)》 PDF下载
    《NumPy学习指南(第2版)》 高清PDF 下载
    《利用Python进行数据分析》PDF下载
  • 原文地址:https://www.cnblogs.com/testerlina/p/12942620.html
Copyright © 2011-2022 走看看