unittest 是python 的单元测试框架,unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案.
作为单元测试的框架, unittest 也是可以对程序最小模块的一种敏捷化的测试。
在自动化测试中,必须需要知道所使用语言的单元测试框架。
利用单元测试框架,创建一个类,该类继承unittest的TestCase,这样可以把每个case看成是一个最小的单元, 由测试容器组织起来,到时候直接执行,同时引入测试报告。
1、创建test.py文件
import unittest
#创建测试类Red,首字母大写,括号内表示继承不能省略
class Red(unittest.TestCase):
#初始化函数,所有测试函数运行前运行一次,@classmethod为装饰器,cls不能省略
@classmethod
def setUpClass(cls):
print("starting....")
#每个测试函数运行前运行,可运行多次
def setUp(self):
print("test function starting")
#每个测试函数运行完运行,可运行多次
def tearDown(self):
print("test function ending")
#创建测试函数testA,执行顺序
def testA(self):
print("test A")
#创建测试函数testB
def testB(self):
print("test B")
#所有测试函数运行完运行一次
@classmethod
def tearDownClass(cls):
print("ending....")
#单独运行模块时才会被执行
if __name__=='__main__':
unittest.main()
#输出结果
starting....
test function starting
test A
test function ending
test function starting
test B
test function ending
ending....
2、创建suitetest.py文件
创建一个测试套件去运行test中的函数
3、运行测试套件下所有函数
#运行测试套件下得所有函数
import unittest
from test import Red
#获取Red类下得所有测试方法
test=unittest.TestLoader().loadTestsFromTestCase(Red)
#创建一个测试套件
suite=unittest.TestSuite([test])
#运行测试套件
runner=unittest.TextTestRunner()
runner.run(suite)
#输出结果
starting....
test function starting
test A
test function ending
test function starting
test B
test function ending
ending....
4、运行测试套件下某个函数
#运行测试套件下得所有函数
import unittest
from test import Red
#获取Red类下得所有测试方法
test=unittest.TestLoader().loadTestsFromTestCase(Red)
#创建一个测试套件
suite=unittest.TestSuite()
#添加测试函数至测试套件
suite.addTest(Red("testA"))
#运行测试套件
runner=unittest.TextTestRunner()
runner.run(suite)
#输出结果
starting....
test function starting
test A
test function ending
ending....
5、运行多个函数
#运行测试套件下得所有函数
import unittest
from test import Red
#获取Red类下得所有测试方法
test=unittest.TestLoader().loadTestsFromTestCase(Red)
#创建一个测试套件
suite=unittest.TestSuite()
tests=[Red("testA"),Red("testB")]
suite.addTests(tests)
#运行测试套件
runner=unittest.TextTestRunner()
runner.run(suite)
#输出结果
starting....
test function starting
test A
test function ending
test function starting
test B
test function ending
ending....
最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础