一、UnitTest测试框架介绍
UnitTest测试框架适用于单元测试、web自动化测试、接口测试等,此测试框架的特点:1、可以帮助我们很好的管理测试用例;2、提供了丰富的断言方法;3、自动生成测试报告。下面就对UnitTest测试框架如何使用进行说明。
二、UnitTest核心的要素
1、TestCase:测试用例
2、TestSuite:测试套件, 功能是可以把多个测试用例放入到一个套件中,方便统一管理
3、TestRunner:执行测试用例
4、TestLoader:自动可以寻找并把测试用例仿佛到测试套件中
5、Fixture:用例执行顺序
TestCase-测试用例的基本类
定义我们测试类时,必须继承unitest.TestCase父类,类中的每个方法必须以test头。
代码演示
import unittest
# 写一个函数,要测试这个函数是否正确
# sum的功能是有两个形参, 返回值是这两个形参相加的和
def sum(a, b):
return a + b
class Test_Case(unittest.TestCase):
def test_01(self):
result = sum(1,2)
print(result)
def test_02(self):
result = sum(2, 2)
print(result)
注意:1、这里文件名称尽量不要用中文;2、鼠标放到代码的最后面, 右键,选择在unittest中运行代码
TestSuite-测试套件
就相当于将多个TestCase写的测试用例打包如一个套件,方便我们管理和执行我们需要执行的case
代码演示
import unittest
import Base # 导入测试用例文件
\# 创建测试套件
suite = unittest.TestSuite()
\# 添加测试用例,Base文件下的Test_Case类中的test_01方法
suite.addTest(Base.Test_Case("test_01"))
suite.addTest(Base.Test_Case("test_02"))
实例化测试套件后,然后使用里面的addTest()方法添加测试用例
TextTestRunner-执行测试套件TestSuite中的测试用例
import unittest
import Base # 导入测试用例文件
# 创建测试套件
suite = unittest.TestSuite()
# 添加测试用例,Base文件下的Test_Case类中的test_01方法
suite.addTest(Base.Test_Case("test_01"))
suite.addTest(Base.Test_Case("test_02"))
# 执行测试套件中的测试用例
runner = unittest.TextTestRunner()
runner.run(suite)
图解
TestLoader-自动查找符合条件的测试用例
自动查找符合条件的py文件中的测试用例,把找到的测试用例添加到测试套件TestSuite中,使用discover()方法进行查找。
import unittest
# 使用TestLoader添加测试用例
suite = unittest.TestLoader().discover("./","test*.py") # 从当前目录查找,test开头,扩展名为.py的文件
# 执行测试套件中的测试用例
runner = unittest.TextTestRunner()
runner.run(suite)
说明:在这里py文件名支持*号通配符
执行测试用例的两个方法
方法一:用TestSuite的addTest方法,把每个测试用例都添加到套件中
方法二:用TestLoad,统一把所有符合条件的测试用例添加到套件中
两种方法的使用场景:
当有大量测试用例,在不同的py文件中, 适合用方法二
虽然有大量测试用例,但只执行其中几个,适合用方法一
本期介绍到这里,下期继续进行介绍UnitTest核心的要素中的Fixture,并将UnitTest框架中的断言方法进行介绍!!