w3resource

Running unit tests with unittest in Python

Run unit tests with unittest

To run unit tests with unittest, you can use the framework's built-in test runner. The test runner is a command-line tool that discovers and executes the test cases and test methods defined in your Python test modules. Here's how to execute unit tests using the unittest test runner:

Organize Your Test Code:

  • First, make sure you organize your test code into separate Python modules or files. These modules should contain test cases and test methods.

Import the unittest Module:

  • In each test module, you need to import the unittest module to access testing functionalities.

Create a Test Suite (Optional):

  • If you have multiple test modules, you can create a test suite to group them together. A test suite is a collection of test cases to run together.

Run tests with unittest Test Runner:

  • To execute your tests, open a terminal or command prompt, navigate to the directory containing the test modules, and run the following command:
  • python -m unittest [test_module_name]

  • Replace [test_module_name] with the name of the Python test module you want to run. Use the discover option to automatically discover and execute all the test modules in a directory:
  • python -m unittest discover

Test results:

  • The test runner will display the test results on the console. The report will show which tests passed and which tests failed, along with any error messages or stack traces.

Exit status:

  • The test runner will exit with a status code of 0 if all tests pass successfully. The test runner will exit with a non-zero status code if any test fails or encounters an error.

Verbose Output (Optional):

  • By default, the test runner produces minimal output. If you want more detailed information about the test results, you can use the -v (verbose) option:
  • python -m unittest -v [test_module_name]

  • Verbose output provides additional information about each test case and test method.


Follow us on Facebook and Twitter for latest update.