unittest是python自带的一个测试框架,也称单元测试。
使用时必须导入unittest模块。
以下是unittest自带的一个例子,是从原模块copy出来的例子
【crtl+鼠标左击 对着import后面的unittest 点一下即可跳到原模块查看介绍。】
#coding:utf-8
import unittest #导入unittest模块
class IntegerArithmeticTestCase(unittest.TestCase): #定义一个类,继承unittest.TestCase
def testAdd(self): ## test method names begin 'test*' 告诉我们写函数时要以test开头
self.assertEqual((1 + 2), 3) #assertEqual是指断言,1+2预期结果是否为3
self.assertEqual(0 + 1, 1)
def testMultiply(self):#定义一个乘法函数
self.assertEqual((0 * 10), 0)
self.assertEqual((5 * 8), 40)
if __name__ == '__main__':
unittest.main() #运行主函数,可以理解为运行以上所有函数
打印结果:
其中..表示运行成功
Ran 2 tests in 0.000s 表示运行了2个用例耗时0s
我们模仿以上自己写一个例子:
#coding:utf-8
import unittest
class MathTestCase(unittest.TestCase):
def testSub(self):
self.assertEqual(2-1,1)
self.assertEqual((3-3),0)
def testDiv(self):
self.assertEqual(2/1,2)
self.assertEqual((3/2),1.5)
if __name__=="__main__":
unittest.main()
运行结果为:
F表示运行失败,其中3/2在python 2.7中不会自动保存为浮点型。必须要除数和被除数其中一个为浮点数时才会保存为浮点型。
总结:
1.单元测试需要导入包 import unittest
2.类必须继承unittest.testCase
3.构建的函数必须以test关键字开头
4.运行所有函数使用 unittest.main()
5.断言使用 self.assertEqual()
6.运行结果F为false而.(点)表示成功