ubuntu

Ubuntu Python单元测试编写

小樊
51
2025-04-23 19:39:41
栏目: 编程语言

在Ubuntu上编写Python单元测试,你可以使用Python的内置模块unittest。以下是一个简单的例子来说明如何编写和运行单元测试。

首先,创建一个名为test_sample.py的文件,其中包含你想要测试的函数和相应的测试用例。

# test_sample.py

import unittest

# 这是你想要测试的函数
def add(a, b):
    return a + b

# 这是你的测试类,它继承自unittest.TestCase
class TestAddFunction(unittest.TestCase):

    # 这是测试用例1:检查add函数是否正确地将两个数字相加
    def test_addition(self):
        self.assertEqual(add(1, 2), 3)
        self.assertEqual(add(-1, 1), 0)
        self.assertEqual(add(0, 0), 0)

    # 这是测试用例2:检查add函数是否正确处理浮点数
    def test_addition_floats(self):
        self.assertAlmostEqual(add(1.1, 2.2), 3.3, places=1)

    # 这是测试用例3:检查add函数是否正确处理字符串(预期会引发TypeError)
    def test_addition_strings(self):
        with self.assertRaises(TypeError):
            add("Hello", "World")

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

在这个例子中,我们定义了一个名为add的简单函数,它接受两个参数并返回它们的和。然后,我们创建了一个名为TestAddFunction的测试类,它继承自unittest.TestCase。在这个类中,我们定义了三个测试用例:

  1. test_addition:检查add函数是否正确地将两个数字相加。
  2. test_addition_floats:检查add函数是否正确处理浮点数。
  3. test_addition_strings:检查add函数是否正确处理字符串(预期会引发TypeError)。

要运行测试,打开终端并导航到包含test_sample.py文件的目录。然后,运行以下命令:

python3 test_sample.py

你应该会看到类似以下的输出:

....
----------------------------------------------------------------------
Ran 4 tests in 0.001s

OK

这表示所有测试用例都已成功通过。如果有任何测试失败,unittest将显示相应的错误信息。

注意:在实际项目中,你可能需要为不同的模块编写多个测试文件。在这种情况下,你可以使用unittest discover命令自动发现并运行所有测试用例。例如,在项目根目录下运行以下命令:

python3 -m unittest discover

这将运行当前目录及其子目录中的所有测试用例。

0
看了该问题的人还看了