unittest测试框架

一、介绍

  • untitest框架是专门用来进行执行代码测试的框架
  • untitest是python自带的单元测试包,被各种框架引用,比如django
  • unittest很多用法和django自带的单元测试差不多,因为Django的TestCase继承了Python的unittest.TestCase

特点:

  1. 能够组织多个用例去执行
  2. 提供丰富的断言方法
  3. 提供丰富的日志与测试结果

核心要素:

  1. TestCase
  2. TestSuite
  3. TextTestRunner
  4. Fixture

1、TestCase

说明:一个TestCase就是一条测试用例,就是一个完整的测试流程

  1. 新建类继承自 unittest.TestCase
  2. 测试的方法以 test 开头

2、TestSuite

说明:测试套件是把多条测试用例集合在一起,就是一个TestSuite

  1. 实例化 suite 对象 suite = unittest.TestSuite()
  2. 将测试用例添加到 suite 中 suite.addTest(MyTest('test_xxx'))

3、TestTestRunner

说明:测试执行是用来执行测试用例套件

  1. 实例化 runner 对象 runner = unittest.TextTestRunner()
  2. 执行测试套件 runner.run(suite)

案例

from unittest import TestCase
from unittest import TestCase
from unittest import TestSuite, TextTestRunner


class TestCase01(TestCase):
    def test_01(self):
        print("01 执行")

    def test_02(self):
        print("02 执行")

    def test_03(self):
        print("03 执行")


if __name__ == '__main__':
    suite = TestSuite()
    # 添加要执行的测试用例
    suite.addTest(TestCase01('test_01'))
    suite.addTest(TestCase01('test_02'))
    suite.addTest(TestCase01('test_03'))

    # 创建runner
    runner = TextTestRunner()
    runner.run(suite)

运行结果

$ python test_1_case.py
01 执行
.02 执行
.03 执行
.
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK
上一篇:Docker安装Gitlab-runner


下一篇:spring boot no tests found with test runner 'JUnit5'