📜  Python unittest – assertIs()函数

📅  最后修改于: 2022-05-13 01:55:07.119000             🧑  作者: Mango

Python unittest – assertIs()函数

Python中的 assertIs() 是一个 unittest 库函数,用于在单元测试中测试第一个和第二个输入值是否计算为相同的对象。该函数将三个参数作为输入,并根据断言条件返回一个布尔值。如果两个输入都计算为同一个对象,则 assertIs() 将返回 true,否则返回 false。

下面列出了两个不同的示例,说明了给定断言函数的正负测试用例:

示例 1:否定测试用例

Python3
# unit test case
import unittest
  
class DummyClass:
  x = 5
  
class TestMethods(unittest.TestCase):
    # test function to test object equality of two value
    def test_negative(self):
        firstValue = DummyClass()
        secondValue = DummyClass()
        # error message in case if test case got failed
        message = "First value & second value are not evaluated to same object !"
        # assertIs() to check that if first & second evaluated to same object
        self.assertIs(firstValue, secondValue, message)
  
if __name__ == '__main__':
    unittest.main()


Python3
# unit test case
import unittest
  
class DummyClass:
  x = 5
  
class TestMethods(unittest.TestCase):
    # test function to test object equality of two value
    def test_positive(self):
        firstValue = DummyClass()
        secondValue = firstValue
        # error message in case if test case got failed
        message = "First value and second value are not evaluated to same object !"
        # assertIs() to check that if first & second evaluated to same object
        self.assertIs(firstValue, secondValue, message)
  
if __name__ == '__main__':
    unittest.main()


输出:

F
======================================================================
FAIL: test_negative (__main__.TestMethods)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "p1.py", line 15, in test_negative
    self.assertIs(firstValue, secondValue, message)
AssertionError: <__main__.DummyClass object at 0x7f1d20251b70> is 
not <__main__.DummyClass object at 0x7f1d20251ba8> :
 First value and second value are not evaluated to same object!

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)


示例 2:正面测试用例

Python3

# unit test case
import unittest
  
class DummyClass:
  x = 5
  
class TestMethods(unittest.TestCase):
    # test function to test object equality of two value
    def test_positive(self):
        firstValue = DummyClass()
        secondValue = firstValue
        # error message in case if test case got failed
        message = "First value and second value are not evaluated to same object !"
        # assertIs() to check that if first & second evaluated to same object
        self.assertIs(firstValue, secondValue, message)
  
if __name__ == '__main__':
    unittest.main()

输出:

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK


参考:https://docs。 Python.org/3/library/unittest.html