使用unittest框架管理运行多个测试用例
TestCase(测试用例)
是一个代码文件,在代码文件中书写真正的测试用例,代码文件的名字必须按照标识符的书写规则来书写。
步骤:1.导包(unittest)2.自定义测试类 3.在测试类中书写测试方法 4.执行用例
#1.导包
import unittest
#2.自定义测试类,需要继承unittest模块中的TestCase类即可
class TestDemo1(unittest.TestCase):
#3.书写测试方法,即用例代码,测试方法必须以test_开头
def test_method1(self):
print(f'测试方法1')
def test_method2(self):
print(f'测试方法2')
#4.执行用例(方法)
#4.1将光标放在类名的后边运行,会执行类中所有的测试方法
#4.2将光标放在方法名的后边运行,只执行当前的方法
testsuite&testrunner
testsuite(测试套件):管理,打包,组装testcase(测试用例),是用来管理多个testcase的。
testrunner(测试执行):执行testsuite(套件)
步骤:1.导包(unittest)2.实例化(创建对象)套件对象3.使用套件对象添加用例方法4.实例化运行对象5.使用运行对象去执行套件对象
#运行结果中一个点表示用例通过,F表示用例不通过,E表示用例代码有问题
#1.导包
import unittest
#2.实例化(创建)套件对象
from unitest.skip import TestDemo
from unitest.testcase1 import TestDemo1
from unitest.testcase2 import TestDemo2
suite = unittest.TestSuite()
#3.使用套件对象添加用例方法
# #方式1:套件对象.addTest(测试类名('方法名'))
# suite.addTest(TestDemo1('test_method1'))
# suite.addTest(TestDemo1('test_method2'))
# suite.addTest(TestDemo2('test_method2_1'))
# suite.addTest(TestDemo2('test_method2_1'))
#方式2:将一个测试类中的所有测试方法进行添加,格式:套件对象.addTest(unittest.makeSuite(测试类名))
# suite.addTest(unittest.makeSuite(TestDemo1))
# suite.addTest(unittest.makeSuite(TestDemo2))
suite.addTest(unittest.makeSuite(TestDemo)) #skip里面的函数
#4.实例化运行对象
runner = unittest.TextTestRunner()
#5.使用运行对象去执行套件对象
#运行对象.run(套件对象)
runner.run(suite)
testloader(测试加载)
作用和testsuite一样,对testsuite功能的补充,用来组装测试用例的。
步骤:1.导包2.实例化加载对象并添加用例–》得到的是suite对象 3.实例化运行对象 4,运行对象执行套件对象
#1.导包
import unittest
#2.实例化加载对象并添加用例
#unittest.TestLoader().discover('用例所在路径','用例的代码文件名')
# #用例所在路径,建议使用相对路径,用例的代码文件名可以使用*通配符
# suite = unittest.TestLoader().discover('./case_all', '*test*.py')
#使用默认的加载对象并加载用例
suite = unittest.defaultTestLoader.discover('case_all','*test*.py')