利用Untitest 中的TestCase类来编写测试用例。一般步骤:①创建测试集 ②创建加载器 ③加载用例 ④执行用例
测试代码:
class Math(): """测试类""" def __init__(self,a,b): self.a = a self.b = b def add(self): return self.a+self.b def sub(self): return self.a-self.b
用例代码:
import unittest from unit_demo.test_case import * class Add_sub(unittest.TestCase): def setUp(self): print("测试开始:") def test_001(self): result = Math(1,2).add() print("test_001实际结果:"+str(result)) self.assertEqual(result,3) def test_002(self): result = Math(1,2).sub() self.assertEqual(result,3) def test_003(self): result = Math(1,2).sub() self.assertEqual(result,-1) def tearDown(self): print("测试结束")
run 模块:三种不同的加载用例的方法:
import unittest suite = unittest.TestSuite() #创建测集 #第一种 一条条添加测试后用例 # from unit_demo.test_code import * # suite.addTest(Add_sub("test_001")) #添加用例 # runner = unittest.TextTestRunner() # runner.run(suite) #第二种 创建load加载测试用例 加载整个文件名 # import unit_demo.test_code # loader = unittest.TestLoader() #创建用例加载器 # suite.addTest(loader.loadTestsFromModule(unit_demo.test_code)) # runner = unittest.TextTestRunner() # runner.run(suite) #第三种:通过loader加载用例,通过类名加载用例 from unit_demo.test_code import Add_sub loader = unittest.TestLoader() suite.addTest(loader.loadTestsFromTestCase(Add_sub)) runner = unittest.TextTestRunner() runner.run(suite)
生成测试报告:通过HTMLTestRunnerNew模块生成测试报告
from unit_demo.test_code import Add_sub loader = unittest.TestLoader() suite.addTest(loader.loadTestsFromTestCase(Add_sub)) # runner = unittest.TextTestRunner() # runner.run(suite) import HTMLTestRunnerNew with open("test.html","wb") as file: runner = HTMLTestRunnerNew.HTMLTestRunner(stream = file ,verbosity = 2, title="2019/7/17 Unittest练习",description="unittest",tester="强小白") runner.run(suite)