一、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)

 

posted on 2019-11-29 17:23  badbadboy  阅读(242)  评论(0编辑  收藏  举报