Python Unittest Assert Methods

Summary: in this tutorial, you’ll learn the overview of the Python unittest assert methods to perform unit testing.

Introduction to Python unittest assert methods

The TestCase class of the unittest module provides you with a large number of assert methods to test. The following table shows the most commonly used assert methods:

MethodChecks that
assertEqual(x, y, msg=None)x == y
assertNotEqual(x,y,msg=None)x != y
assertTrue(x, msg=None)bool(x) is True
assertFalse(x, msg=None)bool(x) is False
assertIs(x, y , msg=None)x is y
assertIsNot(x, y, msg=None)x is not y
assertIsNone(x, msg=None)x is None
assertIsNotNone(x , msg=None)x is not None
assertIn(x, y, msg=None)x in y
assertNotIn(x, y, msg=None)x not in y
assertIsInstance(x, y, msg=None)isinstance(x, y)
assertNotIsInstance(x, y, msg=None)not isinstance(x, y)

All of these methods have an optional msg parameter whose type is a string. The msg will be displayed in the test result if the test fails.

The following assert methods check the exceptions, warnings, and log messages:

MethodChecks that
assertRaises(exc, fun, *args, **kwds)fun(*args, **kwds) raises exc
assertRaisesRegex(exc, r, fun, *args, **kwds)fun(*args, **kwds) raises exc and the message matches regex r
assertWarns(warn, fun, *args, **kwds)fun(*args, **kwds) raises warn
assertWarnsRegex(warn, r, fun, *args, **kwds)fun(*args, **kwds) raises warn and the message matches regex r
assertLogs(logger, level)The with block logs on logger with a minimum level
assertNoLogs(logger, level)The with block does not log on logger with a minimum level

The following table shows the assert methods that perform more specific checks:

MethodChecks that
assertAlmostEqual(x, y)round(x-y, 7) == 0
assertNotAlmostEqual(x, y)round(x-y, 7) != 0
assertGreater(x, y)x > y
assertGreaterEqual(x, y)x >= y
assertLess(x, y)x < y
assertLessEqual(x, y)x <= y
assertRegex(s, r)r.search(s)
assertNotRegex(s, r)not r.search(s)
assertCountEqual(x, y)x and y have the same number of elements in the same number.

In the next tutorials, you’ll learn about the unittest assert methods in more detail and how to use them effectively.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *