Python 测试框架基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 测试框架基础相关的知识,希望对你有一定的参考价值。
1. 导入测试对象
2. 导入单元测试框架:unittest
3. 创建继承自unittest.TestCase类的测试类,类中必须包含三个方法:初始化、测试、结束
初始化、结束的方法名必须是setUp、tearDown,TestCase类中包含的。
测试方法中,细节测试步骤,可使用asserEqual对比实际结果和期望结果,同时可在其中定义失败时,提示内容,如asserEqual(c1,5,‘与期望结果不符‘)
1 #coding=utf-8 2 from count import Count 3 #单元测试框架unittest 4 import unittest 5 class TestAdd(unittest.TestCase):#继承unittest中的TestCase类 6 #1>测试准备工作,初始化 7 def setUp(self): 8 print "test start" 9 #2>正式测试 10 def testAdd(self): 11 c1=Count(2,3) 12 #断言函数 13 self.assertEqual(c1.add(),5) 14 # 可以在参数后添加错误描述,asserEqual(c1,6,‘结果同预期不符‘) 15 #3>结束工作 16 def tearDown(self): 17 print "test end"
断言语法 解释
assertEqual(a, b) 判断a==b
assertNotEqual(a, b) 判断a!=b
assertTrue(x) bool(x) is True
assertFalse(x) bool(x) is False
assertIs(a, b) a is b
assertIsNot(a, b) a is not b
assertIsNone(x) x is None
assertIsNotNone(x) x is not None
assertIn(a, b) a in b
assertNotIn(a, b) a not in b
assertIsInstance(a, b) isinstance(a, b)
assertNotIsInstance(a, b) not isinstance(a, b)
实际测试中,常常有多条测试case,通常采用测试集来执行。
测试类的定义与上方大致相同,
然后需要定义测试集,继承自unittest.TestSutie,
然后向测试集中添加测试类中定义的测试case
测试集的执行需要虚拟执行者,定义如runner=unittest.TextTestRunner()
最后让执行者执行测试集就好:runner.run(suite)
1 #coding=utf-8 2 import sys 3 sys.path.append(‘.\\practice‘) 4 from count import Count 5 import unittest 6 class testCount(unittest.TestCase): 7 def setUp(self): 8 print ‘test start‘ 9 def testadd(self): 10 c1 = Count(2,3).add() 11 self.assertEqual(c1,5) 12 def testsub(self): 13 c2 = Count(3,3).sub() 14 self.assertEqual(c2,1) 15 def tearDown(self): 16 print ‘test complete‘ 17 suite = unittest.TestSuite() 18 suite.addTest(testCount(‘testadd‘)) 19 suite.addTest(testCount(‘testsub‘)) 20 runner = unittest.TextTestRunner() 21 runner.run(suite)
以上是关于Python 测试框架基础的主要内容,如果未能解决你的问题,请参考以下文章