在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
。在这个类中,我们定义了三个测试用例:
test_addition
:检查add
函数是否正确地将两个数字相加。test_addition_floats
:检查add
函数是否正确处理浮点数。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
这将运行当前目录及其子目录中的所有测试用例。