python unittest理解

Posted zcaptain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python unittest理解相关的知识,希望对你有一定的参考价值。

一、运行流程

技术分享图片

 

二、使用方法:

1、定义一个继承unittest.TestCase的类,类中已test_开头方法就是执行时的测试用例

###########################
#name:test_unittest.py
#!/usr/bin/env python  
# _*_ coding:utf-8 _*_

def add(a, b):
    return a+b


def minus(a, b):
    return a-b


def multi(a, b):
    return a*b


def divide(a, b):
    return a/b
##########################
#name:test_case.py
#!/usr/bin/env python  
# _*_ coding:utf-8 _*_
import test_unittest
import unittest


class MyTest(unittest.TestCase):

    def test_add(self):
        self.assertEqual(5,test_unittest.add(2,3))

    def test_minus(self):
        self.assertEqual(2,test_unittest.minus(5,3))

    def test_multil(self):
        self.assertEqual(6,test_unittest.multi(2,3))

    def test_divide(self):
        self.assertEqual(2,test_unittest.divide(6,2))


if __name__ == __main__:
    unittest.main(verbosity=2)

2、上述直接执行,可以将多个测试方法,加入到一个TestSuile(测试套件)中,执行一个测试套件

############################################
#name:test_unittest.py
#!/usr/bin/env python  
# _*_ coding:utf-8 _*_

def add(a, b):
    return a+b


def minus(a, b):
    return a-b


def multi(a, b):
    return a*b


def divide(a, b):
    return a/b
###########################################
#name:test_case.py
#!/usr/bin/env python  
# _*_ coding:utf-8 _*_
import test_unittest
import unittest


class MyTest(unittest.TestCase):

    def test_add(self):
        self.assertEqual(5,test_unittest.add(2,3))

    def test_minus(self):
        self.assertEqual(2,test_unittest.minus(5,3))


class MyTest2(unittest.TestCase):

    def test_multil(self):
        self.assertEqual(6,test_unittest.multi(2,3))

    def test_divide(self):
        self.assertEqual(2,test_unittest.divide(6,2))


if __name__ == __main__:
    unittest.main(verbosity=2)

#############################################
#name:test_suite.py
#!/usr/bin/env python # _*_ coding:utf-8 _*_ import test_unittest from test_case import * import unittest if __name__ == __main__: suite = unittest.TestSuite() suite.addTests(unittest.TestLoader().loadTestsFromNames([test_case.MyTest,test_case.MyTest2])) runner = unittest.TextTestRunner(verbosity=2) runner.run(suite)

3、将结果输出到文件

4、setUp()与tearDown()

5、跳过一条用例

6、使用HTMLTestRunner

 


以上是关于python unittest理解的主要内容,如果未能解决你的问题,请参考以下文章

Python单元测试——深入理解unittest

Python unittest模块心得

python+unittest接口自动化执行多条测试用例怎么实现?

Python单元测试之unittest

理解unittest测试框架从入口说起

理解unittest测试框架从入口说起