• unittest框架


    一、unittest框架简介

      unittest设计时主要用于单元测试,但其他功能强大,也可以用于其他的自动化测试(GUI、接口)。

    二、unittest框架的四个核心

      1. testcase:测试用例

      2. testsuite:测试套件

      3. testfixture:用于配置或者删除环境,提供setUp()启动和tearDown()释放的方法,定义了特殊的运行方式

      4. testrunner:提供run()方法,运行测试集,可以生成测试报告

    三、unittest框架常用的类

      1.TestCase  2.main  3.TestSuite  4.skip  5.TestResult  6.TestLoader

    四、unittest框架的实现过程

      1. 通过继承的方式(unittest.TestCase)获取父类方法,构建测试用例

      2. 构建测试用例遵循标准:必须以test开头

      3. 通过testfixture初始化运行时所需要的变量。setUp获取,tearDown回收

      4. 定义测试类。unittest.main(),另外一种通过testsuite的方式指定运行某一些测试用例。unittest.TsetSuite()得到测试集对象。通过addTest()或者是addTests()

        5. 运行测试集

    五、setUp()和tearDown()

      每次执行一次test_case方法,setUp()和tearDown()方法都会执行一次

    import unittest
    class TestDemo(unittest.TestCase):
        def setUp(self):
            print("测试开始")
        def tearDown(self):
            print("测试结束")
        def test_case1(self):
            print('执行case1')
        def test_case2(self):
            print('执行case2')
        def test_case3(self):
            print('执行case3')
    if __name__ == '__main__':
        unittest.main()

    六、setUpClass()和tearDownClass()

       setUpClass()和tearDownClass()方法在整个过程中只执行一次(开头与结尾)

    import unittest
    class TestDemo(unittest.TestCase):
        @classmethod
        def setUpClass(cls):
            cls.a="测试开始"
            print(cls.a)
        @classmethod
        def tearDownClass(cls):
            cls.b="测试结束"
            print(cls.b)
        def test_case1(self):
            print('执行case1')
        def test_case2(self):
            print('执行case2')
        def test_case3(self):
            print('执行case3')
    if __name__ == '__main__':
        unittest.main()

    七、常用断言

      1. assertEqual(a,b)

      2. assertNotEqual(a,b)

      3. assertTrue(a)

      4. assertFalse(a)

      5. assertIn(a,b)

      6. assertNotIn(a,b)

  • 相关阅读:
    JIT动态编译器的原理与实现之Interpreter(解释器)的实现(三)
    java工作之后需要看的书籍
    WebService 之 REST vs SOAP
    消息队列
    dreamweaver cs6 的破解方法
    jquery mobile页面跳转后js不执行的问题
    JQueryMobile页面跳转参数的传递解决方案
    HTMl5的sessionStorage和localStorage
    phoneGap、JQueryMobile 简介及中文API地址
    Android 禁止响应屏幕翻转
  • 原文地址:https://www.cnblogs.com/badbadboyyx/p/11959121.html
Copyright © 2020-2023  润新知