unittest单元测试框架
Unittest单元测试框架
UnitTest套件以及运行的方法 TestsuiteTest Runner::
一个功能的验证往往需要多个测试用例,可以把多个测试用例集合在一起执行,这就产生了测试套件TestSuite的概念。TestSuite用来组装单个测试用例。
可以通过addTest加载TestCase到TestSuite中,从而返回一个TestSuite实例。而且TestSuite也可以嵌套TestSuite
做过自动化测试的同学应该都知道python中的unittest框架,它是python自带的一套测试框架,学习起来也相对较容易
,unittest框架最核心的概念:
a: test case:就是我们的测试用例,unittest中提供了一个基本类TestCase,可以用来创建新的测试用例,一个TestCase的实例就是一个测试用例;
unittest中测试用例方法都是以test开头的,且执行顺序会按照方法名的ASCII值排序
b:test suite:测试套件,用来把需要一起执行的测试用例集中放到一块执行,相当于一个篮子。我们可以使用TestLoader来加载测试用例到测试套件中
c:testranner测试的执行也是单元测试中非常重要的一个概念,一般单元测试框架中都会提供丰富的执行策略和执行结果。在Unittest单元测试框架中,通
过TextTestRunner类提供的run()方法来执行test suite/test case。test runner可以使用图形界面、文本界面,或返回一个特殊的值等方式来表示测试执行的结果
实例讲解:
import unittest import os class Test_ui(unittest.TestCase): def test01(self): print("测试01") def test02(self): print("测试02") def test03(self): print("测试04") if __name__ == '__main__': unittest.main()
方法1:
unittest.main()方法执行当前类中的所有的测试
方法二:
unitest.Testsuite() 类
测试套件,理解成测试用例集一系列的测试用例,或
测试套件,理解成测试用例的集合和测试套件的集合
当运行测试套件时,则运行里面添加的所有测试用例"""
通过suite()中的addtest方法将用例添加到 suite这个套件当中----单个用例进行添加""" """实例化测试套件suite类对象""" suite = unittest.TestSuite() """(Test_ui:为类名:::'test02':为方法名)""" suite.addTest(Test_ui('test02')) suite.addTest(Test_ui('test01')) suite.addTest(Test_ui('test03')) """ TextTestRunner是来运行测试套件的 先先实例化一个对象,通过run方法来执行 测试套件中的用例""" runner = unittest.TextTestRunner() runner.run(suite)
方法3:
testsuite以一个列表的形式进行接收,添加到测试套件当中
case = [Test_ui('test02'), Test_ui('test03')] suite.addTests(case) runner = unittest.TextTestRunner() runner.run(suite)
方法4:
用unittest.defaultTestLoader类方法
path = os.path.dirname(__file__) """打印当前的文件的所在目录的绝对路径""" print(path) """ 调用通过defaultTestLoader类中的discover方法 来查找测试用例 前面是路径,后面是文件名称""" discover = unittest.defaultTestLoader.discover(path,'day03.py') runner = unittest.TextTestRunner() runner.run(discover)

浙公网安备 33010602011771号