如何使用TestCase()来验证函数的输出是否符合预期
发布时间:2023-12-23 01:19:09
TestCase() 是 unittest 提供的一个类,用于验证函数的输出是否符合预期。以下是使用 TestCase() 的步骤:
1. 导入 unittest
import unittest
2. 创建一个继承自 unittest.TestCase 的测试类
class TestMyFunction(unittest.TestCase):
pass
3. 在测试类中定义测试函数,函数名称以 "test_" 开头
def test_my_function(self):
pass
4. 在测试函数中调用待测试的函数,并使用断言方法对函数的输出进行验证
def test_my_function(self):
result = my_function(argument)
self.assertEqual(result, expected_output)
其中,my_function 是待测试的函数,argument 是函数的输入参数,result 是函数的输出结果,expected_output 是预期的输出结果。self.assertEqual() 是 unittest 提供的一个断言方法,用于判断两个值是否相等。
以下是一个完整的示例,假设我们有一个函数 add_two_numbers(),用于计算两个数的和:
def add_two_numbers(a, b):
return a + b
class TestAddTwoNumbers(unittest.TestCase):
def test_add_two_numbers(self):
result = add_two_numbers(2, 3)
self.assertEqual(result, 5)
result = add_two_numbers(0, 0)
self.assertEqual(result, 0)
result = add_two_numbers(-5, 5)
self.assertEqual(result, 0)
if __name__ == '__main__':
unittest.main()
在该示例中,我们定义了一个测试类 TestAddTwoNumbers,其中定义了一个测试函数 test_add_two_numbers。在该测试函数中,分别对 add_two_numbers 函数的三种情况进行了判断:2+3 的结果是否等于 5,0+0 的结果是否等于 0,以及 -5+5 的结果是否等于 0。
在代码的最后,通过 unittest.main() 来运行所有的测试函数。
运行上述代码,将得到以下输出:
. ---------------------------------------------------------------------- Ran 1 test in 0.001s OK
输出中的 "." 表示测试通过,即函数的输出结果符合预期。如果测试未通过,则会显示对应的错误信息。
使用 TestCase() 可以很方便地验证函数的输出是否符合预期。只需在测试函数中调用函数并使用合适的断言方法进行验证即可。
