一、unittest框架认识
TestCase:表示测试用例
TestSuite:表示测试集合,多个测试用例集合到这里
TestLoader:集合完的用例等待被测试
runner:表示运行这些等待测试的用例
result:表示返回测试结果
二、demo
1、创建一般方法(案例中测试用例需要调用该方法)
Math.py
class Math(): def add(self,x,y): return x+y def sub(self,x,y): return x-y
2、创建测试用例
testApi.py
import unittest from Test.Math import Math #编写测试类,用来写测试用例 class test_api(unittest.TestCase): def setUp(self,): self.x = 10 self.y = 20 def test_add(self): result = Math().add(self.x,self.y) print("加法",result) def test_sub(self): result = Math().sub(self.x, self.y) print("减法", result) def tearDown(self): pass if __name__ == '__main__': unittest.main
3、执行用例
executeCase.py
#Author: ls Liu import unittest #创建用例收集器 suite = unittest.TestSuite #导入具体用例所在模块名 from Test import testApi #创建用例加载器 ts = unittest.TestLoader() suite.addTests(ts.loadTestsFromModule(testApi)) #执行用例 runner = unittest.TextTestRunner() runner.run(suite)
收集测试用例的几种方法:
方法一:加载一条用例
suite.addTest(test_api("test_add"))
方法二:加载多条用例
suite.addTests(test_api("test_add"),test_api("test_sub"))
方法三:从指定模块中加载
ts = unittest.TestLoader() #创建用例加载器
suite.addTests(ts.loadTestsFromModule(testApi.py)) #传入模块名
方法四:从指定测试类加载用例
ts = unittest.TestLoader() #创建用例加载器
suite.addTests(ts.loadTestsFromModule(testApi.py)) #传入类名