unittest框架系列六(unittest的TestSuite常用api说明)

13 篇文章 0 订阅
8 篇文章 0 订阅

TestSuite(测试套件)

欢迎加入测试交流群:夜行者自动化测试(816489363)进行交流学习QAQ

–成都-阿木木


class unittest.TestSuite(tests=())

此类表示各个测试用例和测试套件的集合。该类提供测试运行程序所需的接口,以使其能够像其他任何测试用例一样运行。运行TestSuite实例与遍历套件(分别运行每个测试)的结果相同。

TestSuite对象的行为与TestCase对象非常相似,不同之处在于它们实际上并未实施测试。相反,它们用于将测试聚合到应一起运行的测试组中。可以使用一些其他方法将测试添加到TestSuite实例:

#!/user/bin/env python
# -*- coding: utf-8 -*-

"""
------------------------------------
@Project : mysite
@Time    : 2020/8/31 9:29
@Auth    : chineseluo
@Email   : 848257135@qq.com
@File    : run.py
@IDE     : PyCharm
------------------------------------
"""
import unittest
from unittest_demo import TestStringMethods


def suite():
    suite = unittest.TestSuite()
    suite.addTest(TestStringMethods('test_upper'))
    suite.addTest(TestStringMethods('test_isupper'))
    return suite


if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    runner.run(suite())
  • addTests(test):将来自所有可迭代的TestCaseTestSuite 实例的测试添加到该测试套件中。这等效于遍历测试,调用addTest()每个元素。
#!/user/bin/env python
# -*- coding: utf-8 -*-

"""
------------------------------------
@Project : mysite
@Time    : 2020/8/31 9:29
@Auth    : chineseluo
@Email   : 848257135@qq.com
@File    : run.py
@IDE     : PyCharm
------------------------------------
"""
import unittest
from unittest_demo import TestStringMethods


def suite():
    suite = unittest.TestSuite()
    suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
    return suite


if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    runner.run(suite())

TestSuite和TestCase类都拥有下面的方法:

  • run(restult):运行与此套件相关的测试,从结果对象中收集结果。请注意,不同于 TestCase.run()TestSuite.run()需要传递结果对象。
#!/user/bin/env python
# -*- coding: utf-8 -*-

"""
------------------------------------
@Project : mysite
@Time    : 2020/8/31 9:29
@Auth    : chineseluo
@Email   : 848257135@qq.com
@File    : run.py
@IDE     : PyCharm
------------------------------------
"""
import unittest
from unittest_demo import TestStringMethods


def suite():
    resObj = unittest.TestResult()
    suite = unittest.TestSuite()
    suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
    result = suite.run(resObj)
    return result


if __name__ == '__main__':
    print(suite())
  • debug():运行与此套件相关的测试,而不收集结果。这允许将测试引发的异常传播到调用方,并可用于支持在调试器下运行测试。
#!/user/bin/env python
# -*- coding: utf-8 -*-

"""
------------------------------------
@Project : mysite
@Time    : 2020/8/31 9:29
@Auth    : chineseluo
@Email   : 848257135@qq.com
@File    : run.py
@IDE     : PyCharm
------------------------------------
"""
import unittest
from unittest_demo import TestStringMethods


def suite():
    suite = unittest.TestSuite()
    suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
    suite.debug()


if __name__ == '__main__':
    suite()

  • countTestCases():返回此测试对象表示的测试数量,包括所有单个测试和子套件。
#!/user/bin/env python
# -*- coding: utf-8 -*-

"""
------------------------------------
@Project : mysite
@Time    : 2020/8/31 9:29
@Auth    : chineseluo
@Email   : 848257135@qq.com
@File    : run.py
@IDE     : PyCharm
------------------------------------
"""
import unittest
from unittest_demo import TestStringMethods


def suite():
    suite = unittest.TestSuite()
    suite.addTests([TestStringMethods('test_upper'), TestStringMethods('test_isupper')])
    print(suite.countTestCases())


if __name__ == '__main__':
    suite()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值