📜  Python unittest – assertEqual()函数(1)

📅  最后修改于: 2023-12-03 15:34:05.630000             🧑  作者: Mango

Python unittest - assertEqual()函数

assertEqual()是Python unittest模块中的一个断言方法。它用于比较两个值是否相等。如果比较结果为真,则测试通过;否则,测试失败并引发一个AssertionError异常。

使用方法

要使用assertEqual()方法,只需将两个变量或表达式作为参数传递。例如:

import unittest

class MyTest(unittest.TestCase):
    def test_equal(self):
        self.assertEqual(1+1, 2)

上述代码中,我们使用了assertEqual()方法来检查1+1是否等于2。如果相等,则该单元测试通过。

其他用法

除了用于检查变量或表达式的相等性之外,assertEqual() 还有其他用法。例如,可以将其用于比较对象的属性或方法的返回值等。以下是其不同用法的示例:

检查对象属性的值:
import unittest

class MyClass(object):
    def __init__(self, value):
        self.value = value

class MyTest(unittest.TestCase):
    def test_equal(self):
        obj1 = MyClass(1)
        obj2 = MyClass(1)
        self.assertEqual(obj1.value, obj2.value)

上述代码中,我们在MyClass中定义了一个value属性,并在两个对象obj1obj2中使用它。然后,我们使用assertEqual()方法比较这两个对象的value属性是否相等。

检查方法的返回值:
import unittest

class MyTest(unittest.TestCase):
    def test_method(self):
        def my_func(x):
            return x * 2
        self.assertEqual(my_func(2), 4)

上述代码中,我们在单元测试中定义了一个简单的函数my_func(),其返回值为要测试的值的两倍。然后,我们使用assertEqual()方法检查该函数传入参数为2时的返回值是否为4。

结论

assertEqual()方法是Python unittest模块中的一个常用断言方法,用于检查两个值是否相等。它不仅可用于比较变量或表达式的值,还可用于比较对象属性或方法的返回值等。在编写单元测试时使用assertEqual()方法非常有用,可帮助确保代码在各种条件下的正确性。