MST
星途 面试题库

面试题:Python单元测试框架之unittest的基本使用

请简要描述Python中unittest框架编写单元测试的基本步骤,包括如何定义测试用例类、测试方法,以及如何运行测试。另外,说明一下setUp和tearDown方法的作用及执行时机。
20.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 定义测试用例类
    • 测试用例类必须继承自unittest.TestCase。例如:
import unittest

class TestMathFunctions(unittest.TestCase):
    pass
  1. 定义测试方法
    • 测试方法名称必须以test开头。例如:
    def test_addition(self):
        result = 2 + 2
        self.assertEqual(result, 4)
  1. 运行测试
    • 方式一:在脚本末尾添加以下代码:
if __name__ == '__main__':
    unittest.main()
- 方式二:在命令行中运行,假设脚本名为`test_script.py`,执行`python -m unittest test_script.py`。

4. setUp方法: - 作用:用于在每个测试方法执行前执行一些初始化操作,例如创建测试数据、初始化对象等。 - 执行时机:在每个测试方法执行之前都会执行setUp方法。 5. tearDown方法: - 作用:用于在每个测试方法执行后执行一些清理操作,例如关闭文件、释放资源等。 - 执行时机:在每个测试方法执行之后都会执行tearDown方法。 示例:

import unittest

class TestMathFunctions(unittest.TestCase):
    def setUp(self):
        self.num1 = 5
        self.num2 = 3

    def test_addition(self):
        result = self.num1 + self.num2
        self.assertEqual(result, 8)

    def test_subtraction(self):
        result = self.num1 - self.num2
        self.assertEqual(result, 2)

    def tearDown(self):
        self.num1 = None
        self.num2 = None

if __name__ == '__main__':
    unittest.main()