060 Python语法之测试

文档测试

# 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()

你可能感兴趣的:(060 Python语法之测试)