unittest 是 Python 标准库中的测试框架,用于编写和运行单元测试。它提供了一组用于组织测试、断言和报告测试结果的类和方法。
import unittest
class MathOperationsTest(unittest.TestCase):
def test_addition(self):
result = 1 + 1
self.assertEqual(result, 2)
def test_subtraction(self):
result = 3 - 1
self.assertEqual(result, 2)
- 命令行方式:
python -m unittest test_module.py
- 测试运行器方式:
if __name__ == '__main__':
unittest.main()
使用各种断言方法来验证测试条件:
import unittest
class AssertionTest(unittest.TestCase):
def test_assert_equal(self):
self.assertEqual(2 + 2, 4)
def test_assert_true(self):
self.assertTrue(2 + 2 == 4)
def test_assert_false(self):
self.assertFalse(2 + 2 == 5)
使用 setUp 和 tearDown 进行测试装置:
import unittest
class TestWithSetUpAndTearDown(unittest.TestCase):
def setUp(self):
# 设置测试前的准备工作
self.value = 42
def test_value(self):
self.assertEqual(self.value, 42)
def tearDown(self):
# 清理测试后的工作
self.value = None
import unittest
class MathOperationsTest(unittest.TestCase):
def test_addition(self):
result = 1 + 1
self.assertEqual(result, 2)
def test_subtraction(self):
result = 3 - 1
self.assertEqual(result, 2)
class AssertionTest(unittest.TestCase):
def test_assert_equal(self):
self.assertEqual(2 + 2, 4)
def test_assert_true(self):
self.assertTrue(2 + 2 == 4)
def test_assert_false(self):
self.assertFalse(2 + 2 == 5)
if __name__ == '__main__':
# 创建一个测试套件
suite = unittest.TestSuite()
# 将 MathOperationsTest 类中的测试用例添加到测试套件中
suite.addTest(unittest.makeSuite(MathOperationsTest))
# 将 AssertionTest 类中的测试用例添加到测试套件中
suite.addTest(unittest.makeSuite(AssertionTest))
# 运行测试套件
unittest.TextTestRunner().run(suite)