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