Skip to main content

unittest

xUnit-style test framework bundled with CPython. Provides TestCase, fixtures, loaders, runners, and mocks.

Source-of-record: Lib/unittest/, unittest docs.

TestCase

APIPurpose
setUp / tearDownPer-test fixtures.
setUpClass / tearDownClassPer-class fixtures.
setUpModule / tearDownModulePer-module fixtures.
addCleanup(func, *args, **kw)Stacked cleanup.
enterContext(cm) (3.11+)Push CM onto cleanup stack.
subTest(msg=None, **params)Parameterised inner test.
skipTest(reason) / decorators skip, skipIf, skipUnless, expectedFailureSkips.

Assertions

assertEqual, assertNotEqual, assertTrue, assertFalse, assertIs, assertIsNot, assertIsNone, assertIsNotNone, assertIn, assertNotIn, assertIsInstance, assertNotIsInstance, assertRaises, assertRaisesRegex, assertWarns, assertWarnsRegex, assertLogs, assertNoLogs (3.10+), assertAlmostEqual, assertNotAlmostEqual, assertGreater, assertGreaterEqual, assertLess, assertLessEqual, assertRegex, assertNotRegex, assertCountEqual, assertMultiLineEqual, assertSequenceEqual, assertListEqual, assertTupleEqual, assertSetEqual, assertDictEqual.

Loader and runner

NamePurpose
TestLoaderloadTestsFromTestCase, loadTestsFromModule, loadTestsFromName(s), discover(start_dir, pattern='test*.py', top_level_dir=None).
TestSuiteComposite.
TextTestRunnerRun and report.
TestResulterrors, failures, skipped, expectedFailures, unexpectedSuccesses.
main(...)CLI entry.

Mock

unittest.mock provides Mock, MagicMock, AsyncMock, patch, patch.object, patch.dict, patch.multiple, call, sentinel, ANY, mock_open, create_autospec, seal (3.7+).

Gopy status

AreaState
TestCase, fixturesComplete.
AssertionsComplete.
Loader, discovery, runnerComplete.
unittest.mockComplete.
enterContext (3.11+)Complete.

Reference

  • CPython 3.14: unittest.
  • Lib/unittest/.
  • module/unittest/. gopy port.