python unitest 测试套件TestSuite()

发布时间 2023-06-17 15:25:00作者: 云淡#风清

unittest框架提供了多种测试套件的使用方法,用于组织和执行测试用例。以下是一些常见的测试套件使用方法及其示例:

1. 使用unittest.TestSuite()创建测试套件,然后使用addTest()方法添加测试用例。

import unittest

class MyTestCase(unittest.TestCase):
def test_addition(self):
self.assertEqual(2 + 2, 4)

def test_subtraction(self):
self.assertEqual(5 - 3, 2)

suite = unittest.TestSuite()
suite.addTest(MyTestCase('test_addition'))
suite.addTest(MyTestCase('test_subtraction'))

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

2. 使用unittest.TestLoader()的loadTestsFrom...()方法从模块、类或测试方法中加载测试用例,并将它们添加到测试套件中。

 

import unittest

class MyTestCase(unittest.TestCase):
def test_addition(self):
self.assertEqual(2 + 2, 4)

def test_subtraction(self):
self.assertEqual(5 - 3, 2)

loader = unittest.TestLoader()
suite = unittest.TestSuite()

# 从模块加载测试用例
suite.addTests(loader.loadTestsFromModule(MyTestCase))

# 从类加载测试用例
suite.addTests(loader.loadTestsFromTestCase(MyTestCase))

# 从测试方法加载测试用例
suite.addTests(loader.loadTestsFromName('test_addition', MyTestCase))

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

3. 使用unittest.TestSuite()的addTests()方法批量添加测试套件。

import unittest

class MyTestCase1(unittest.TestCase):
def test_addition(self):
self.assertEqual(2 + 2, 4)

class MyTestCase2(unittest.TestCase):
def test_subtraction(self):
self.assertEqual(5 - 3, 2)

suite1 = unittest.TestLoader().loadTestsFromTestCase(MyTestCase1)
suite2 = unittest.TestLoader().loadTestsFromTestCase(MyTestCase2)

suite = unittest.TestSuite()
suite.addTests([suite1, suite2])

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