在前面一章中演示了unittest如何执行一个简单的测试,但有两个问题:
- 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢?
- 一个测试文件,我们直接执行该文件即可,但如果有多个测试文件,怎么进行组织,总不能一个个文件执行吧?
要解决上面两个问题,我们就要用到测试套件TestSuite。
import unittest
class Demo(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
print("setUpClass被执行\n")
@classmethod
def tearDownClass(cls) -> None:
print("tearDownClass被执行")
def setUp(self) -> None:
print("setup被执行")
def tearDown(self) -> None:
print("teardown被执行\n")
def test_a(self):
print("test_a被执行")
def test_c(self):
print("test_c被执行")
def test_b(self):
print("test_b被执行")
a, b = 1, 2
assert a+b == 3
def d(self):
print("d被执行")
if __name__ == '__main__':
# 生成测试套容器
suite = unittest.TestSuite()
# addTest 一次只能加一个用例
suite.addTest(Demo("test_c"))
# addTests 一次能添加多

文章介绍了如何使用unittest库中的TestSuite来控制测试用例的执行顺序。通过示例代码展示了如何添加和组织单个或多个测试用例,包括使用setUpClass和tearDownClass方法进行类级别的设置和清理。此外,文章提到了unittest的discover方法自动加载指定目录下的测试文件,并列举了不同加载用例的方法,如loadTestsFromName和loadTestsFromTestCase等。
最低0.47元/天 解锁文章
277

被折叠的 条评论
为什么被折叠?



