python功能测试 doctest,unittest

doctest简易使用介绍
multiply(1,2)
12
会报错

import doctest
def multiply(v1,v2):
    '''
    >>> multiply(3,4)
    12
    
    >>> multiply(1,2)
    12
    '''
    return v1 * v2;

def main():
    # 生成详细的输出
    doctest.testmod(verbose=True);

if __name__ == '__main__':
    main();

unittest

from src.math import Math

import unittest

# 继承TestCase父类


class TestMath(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        print("综合测试开始");

    @classmethod
    def tearDownClass(cls):
        print("综合测试结束");

    def setUp(self):
        print("测试开始 {}".format(self.id()));

    def tearDown(self):
        print("测试结束 {}".format(self.id()));

    def test_add(self):
        self.assertEqual(Math().add(1,2),3);

    @unittest.skip("忽略测试")
    def test_sub(self):
        self.assertEqual(Math().sub(2, 1), 1);

运行所有的测试类,这个还是很实用的

import os
import unittest

class RunAllTest(unittest.TestCase):
    def test_run(self):
        # 获取程序的目录
        case_path = os.getcwd();

        # 匹配所有以"test*"命名的测试文件;
        discover = unittest.defaultTestLoader.discover(case_path,pattern="test*.py");
        # 级别定义:简单0,普通1,详细2
        runner = unittest.TextTestRunner(verbosity=2);
        runner.run(discover);

if __name__ == '__main__':
    unittest.main();

猜你喜欢

转载自blog.csdn.net/weixin_44887276/article/details/114665394