1.什么是单元测试unittest
- 单元测试:是指对软件中的最⼩可测试单元进⾏检查和验证。
- 单元的含义:一个函数、一个类、一个接口
2.什么是unitest
Python单元测试框架
- unittest 核⼼:TestFixture、TestCase、TestSuite、 TestRunner
- TestFixture:测试固件是执行测试时的准备工作和收尾工作;例如打开/关闭浏览器、链接、数据库
- TestCase:一个TestCase就是一个测试用例
- TestSuite:测试套件,多个测试用例的集合就是suite,一个suite可以包含多个测试用例,也可以嵌套suite
- TestTestRunner:用例执行测试用例(run 方法),测试结果会保存在 TestTestresult中。
3.单元测试框架unittest入门
- ⽤import语句引⼊unittest模块
- 测试的类都继承于TestCase类
- setUp() 测试前的初始化⼯作
- tearDown()测试后的清除⼯作 (在每个测试⽅法运⾏时被调⽤)
- 断⾔(⽀持⾃定义报错信息) self.assertEqual() 查看源码⽂档:
https://docs.python.org/zh-cn/3/library/unittest.html#unittest.TestCase.debug
快速开发⼀个例⼦:
# -*- coding: UTF-8 -*-
import unittest
class UserTestCase(unittest.TestCase):
def setUp(self):
print(" set up 开始")
def tearDown(self):
print("tearDown 执⾏结束")
def testCase1(self):
print("test case1")
def testCase2(self):
print("test case2")
if __name__ == '__main__':
unittest.main()
注意:
1、所有类中⽅法的⼊参为self,定义⽅法的变量也 要“self.变量
2、定义测试⽤例,以“test”开头命名的⽅法,⽅法的⼊参为self
3、unittest.main()⽅法会搜索该模块下所有以test开头的测试⽤例⽅法,并⾃动执⾏它们
4、⾃⼰写的py⽂件不能⽤ unittest.py 命名,不然会找 不到TestCase
5、⽤例成功是输出 . 失败是 F