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
Python3
# 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
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 = 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