Testing frameworks | PyCharm (original) (raw)

PyCharm enables usage of the following testing frameworks:

Framework Code completion Run/debug configuration Ability to create a test Navigation between tests and tests subjects Ability to run tests Code inspections
Python unittests Yes Yes Yes Yes Yes Partially
Pytest Yes Yes Yes Yes Yes Yes
Python nosetests Partially Yes Yes Yes Yes Partially
tox No Yes No No Yes Partially
TwistedTrial Yes Yes Yes Yes Yes N/A
Python doctests N/A Yes No N/A Yes Yes
Available only in PyCharm Pro
BDD Testing Framework Yes Yes Yes (for step definitions) Yes (between steps and features) Yes Partially

Before you start working with the testing framework of your choice, make sure that the desired framework is installed on your machine. For more information about installation details, refer to the framework documentation.

PyCharm auto-detects a test runner that is installed on your Python interpreter and uses it to run tests. Still, you always have an option to explicitly specify the required test runner in the project settings.

Set a testing framework

  1. To set a test runner, press Ctrl+Alt+S to open settings and select Tools | Python Integrated Tools, and then select the target test runner from the Default test runner list.
  2. Choose the desired test runner:
    Selecting a test runner
    If the selected test runner is missing in the specified interpreter, the appropriate notification appears.
    Install the missing test runner
    Click the Fix button to download and install the corresponding framework.

By default, the suggested default test runner is unittest. However, you can redefine the default framework and change it to nosetest, pytest or TwistedTrial.

Change the default testing framework

  1. In the main menu, go to for Windows and Linux, or for macOS.
  2. Select .
  3. In the Testing area, select the test runner that will be default for all newly created projects.

With the test runner selected, PyCharm suggests the appropriate default run/debug configuration:

Suggested run/debug configuration for a test framework

If a user already has the testing run/debug configuration for a specific file and for a specific testing framework, then PyCharm will launch this run/debug configuration, regardless of your chosen default test runner. For more information in how to change or delete such a configuration, refer to Run/debug configurations.

Last modified: 26 March 2025