python unittest使用

Posted 游荡的鱼

tags:

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

uinittest使用

unittest.TestCase

实例:

import unittest


class Test1(unittest.TestCase):
    def test_x1(self):
        self.a=1
    def test_x2(self):
        print("a:",self.a)

class Test2():
    def x1(self):
        self.b=1
    def x2(self):
        print("b:",self.b)
#测试调用1
unittest.main()

#测试调用2
A=Test2()
A.x1()
A.x2()
  • 首先 unittest.TestCase 中测试用例方法 需要用test开头,后面调用 unittest.main()就会自动执行这些用例方法
  • unittest.main() 是会按顺序执行 Test1类里的函数的,但是又和普通的类实例后,逐个调用方法有区别
    明显测试调用1逐个执行test_x1和test_x2方法,执行到test_x2的时候,会报错没有定义变量a
    而测试调用2 不会报变量b没有定义,因为在执行A.x1()的时候就已经初始化变量b了。所以不会报错

TestSuite

  • 使用上面的class Test1(unittest.TestCase)类的定义
suite=unittest.TestSuite()
suite.addTest(Test1('test_x1'))
suite.addTest(Test1('test_x2'))
#或者使用
#suite.addTests([Test1('test_x1'),Test1('test_x2')]) 相当于上面两句

runner = unittest.TextTestRunner()
runner.run(suite)

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

python unittest

接口自动化1.0 python+unittest

Python之自动单元测试之一(unittest使用实例)

使用unittest.mock在python中修补SMTP客户端

第二种方式,修改python unittest的执行顺序,使用猴子补丁

Python单元测试框架:unittest