zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    上学要迟到了【最短路转化】
    解方程【狄利克雷卷积+莫比乌斯反演+积性函数】
    FFT
    min25 筛
    Easy【生成函数】
    CF1406D-Three Sequences
    Alice和Bob赌糖果【赌徒破产模型】
    记MySQL自增主键修改无效的问题
    JVM学习笔记(十一、JDK分析工具)
    JVM学习笔记(十、GC3-垃圾回收机制)
  • 原文地址:https://www.cnblogs.com/badbadboyyx/p/11959121.html
Copyright © 2011-2022 走看看