文档测试
# Author:Luo
def add(a, b):
"""
期望结果前面一定记得前面不要有空格,后面一定不要有其他无意义的数据
:param a: 第一个数
:param b: 第二个数
:return: 返回a+b
>>> print(add(10,20))
30
"""
return a+b
import doctest
# print(add(10,10))
doctest.testmod()
单元测试
# Author:Luo
def add(x, y):
return x + y
def sub(x, y):
return x - y
def mul(x, y):
return x * y
# def sub(x,y):
# return x/y
import unittest
class Test(unittest.TestCase):
def setUp(self): # 每个测试函数运行前运行
pass
def tearDown(self): # 每个测试函数运行完后执行
pass
@classmethod
def setUpClass(cls): # 必须使用@classmethod 装饰器,所有test运行前运行一次
pass
@classmethod
def tearDownClass(cls): # 必须使用@classmethod装饰器,所有test运行完后运行一次
pass
def testAdd(self):
self.assertEqual(first=add(1, 2), second=3, msg="你妹的加法都不会")
def testSub(self):
self.assertEqual(first=sub(2, 5), second=-3, msg="你妹的减法都不会")
def testMul(self):
self.assertEqual(first=mul(7, 8), second=56, msg="就你这样还会乘法?")
if __name__ == "__main__":
unittest.main() # 启动测试
实例化测试类
class data:
def __init__(self):
pass
def add(self,a,b):
return a+b
def sub(self, a, b):
return a - b
import unittest
import myclass
class mytest(unittest.TestCase):
def setUp(self):
self.tclass=myclass.data()#实例化测试的类
pass
def tearDown(self):
pass
def testsum(self):
self.assertEquals(self.tclass.add(1,2),31,"错误")
pass
def testsub(self):
self.assertEquals(self.tclass.sub(1, 2), -11, "错误")
pass
if __name__=="__main__":
unittest.main()