📜  Python unittest – assertNotIsInstance()函数

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

Python unittest – assertNotIsInstance()函数

Python中的assertNotIsInstance () 是一个 unittest 库函数,用于在单元测试中检查对象是否不是给定类的实例。该函数将三个参数作为输入,并根据断言条件返回一个布尔值。如果对象不是给定类的实例,它将返回 true,否则返回 false。

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

示例 1:否定测试用例

Python3
# test suite
import unittest
  
# test class
class Myclass:
    x = 5
  
class TestClass(unittest.TestCase):
    # test function to test whether obj is instance of class
    def test_negative(self):
        objectName = Myclass()
        # error message in case if test case got failed
        message = "given object is  instance of Myclass."
        # assertIsInstance() to check if obj is instance of class
        self.assertNotIsInstance(objectName, Myclass, message)
  
  
if __name__ == '__main__':
    unittest.main()


Python3
# test suite
import unittest
  
# test class
class Myclass:
    x = 5
  
class Myclass2:
    x = 5
      
class TestClass(unittest.TestCase):
    # test function to test whether obj is instance of class
    def test_negative(self):
        objectName = Myclass()
        # error message in case if test case got failed
        message = "given object is instance of Myclass."
        # assert function() to check if obj is instance of class
        self.assertNotIsInstance(objectName, Myclass2, message)
  
  
if __name__ == '__main__':
    unittest.main()


输出:

F
======================================================================
FAIL: test_negative (__main__.TestClass)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/73feafa72d632b19f11ac8251bb291d7.py", line 17, in test_negative
    self.assertNotIsInstance(objectName, Myclass, message)
AssertionError: <__main__.Myclass object at 0x7fab0d3affd0> is an instance of  : given object is  instance of Myclass.

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (failures=1)

示例 2:正面测试用例

Python3

# test suite
import unittest
  
# test class
class Myclass:
    x = 5
  
class Myclass2:
    x = 5
      
class TestClass(unittest.TestCase):
    # test function to test whether obj is instance of class
    def test_negative(self):
        objectName = Myclass()
        # error message in case if test case got failed
        message = "given object is instance of Myclass."
        # assert function() to check if obj is instance of class
        self.assertNotIsInstance(objectName, Myclass2, message)
  
  
if __name__ == '__main__':
    unittest.main()

输出:

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

OK

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