assertIsNot() in Python is a unittest library function that is used in unit testing to test whether first and second input value don’t evaluate to the same object or not. This function will take three parameters as input and return a boolean value depending upon the assert condition. If both inputs don’t evaluate to the same object then assertIsNot() will return true else return false.
Syntax: assertIsNot(firstValue, secondValue, message)
Parameters: assertIsNot() accept three parameters which are listed below with explanation:
- firstValue variable of any type which is used in the comparison by function
- secondValue: variable of any type which is used in the comparison by function
- message: a string sentence as a message which got displayed when the test case got failed.
Listed below are two different examples illustrating the positive and negative test case for given assert function:
Example 1: Negative Test case
# unit test case import unittest
class DummyClass:
x = 5
class TestMethods(unittest.TestCase):
# test function
def test_negative( self ):
firstValue = DummyClass()
secondValue = firstValue
# error message in case if test case got failed
message = "First value & second value evaluates to same object !"
# assertIs() to check that if first & second don't evaluated to same object
self .assertIsNot(firstValue, secondValue, message)
if __name__ = = '__main__' :
unittest.main()
|
Output:
F ====================================================================== FAIL: test_negative (__main__.TestMethods) ---------------------------------------------------------------------- Traceback (most recent call last): File "p1.py", line 15, in test_negative self.assertIsNot(firstValue, secondValue, message) AssertionError: unexpectedly identical: <__main__.DummyClass object at 0x7f75c2e33b70> : First value & second value evaluates to same object! ---------------------------------------------------------------------- Ran 1 test in 0.000s FAILED (failures=1)
Example 2: Positive Test case
# 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 = DummyClass()
# error message in case if test case got failed
message = "First value and second value evaluated to same object !"
# assertIs() to check that if first & second don't evaluates to same object
self .assertIsNot(firstValue, secondValue, message)
if __name__ = = '__main__' :
unittest.main()
|
Output:
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK
Reference: https://docs.python.org/3/library/unittest.html