PyCharm 2021.2 Help

Testing frameworks

PyCharm enables usage of the following testing frameworks:

FrameworkCode completionRun/debug configurationAbility to create a testNavigation between tests and tests subjectsAbility to run testsCode inspections
Python unittestsYesYesYesYesYesPartially
PytestYesYesYesYesYesYes
Python nosetestsPartiallyYesYesYesYesPartially
toxNoYesNoNoYesPartially
TwistedTrialYesYesYesYesYesN/A
Python doctestsN/AYesNoN/AYesYes

Available only in PyCharm Professional

BDD Testing FrameworkYesYesYes (for step definitions)Yes (between steps and features)YesPartially

Before you start working with the testing framework of your choice, make sure that the desired framework is installed on your machine. Refer to the framework documentation for the installation details.

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 the IDE 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. From the main menu, select File | New Project Setup | Settings for New Projects for Windows and Linux, or File | New Project Setup | Preferences for New Projects for macOS.

  2. Select Tools | Python Integrated Tools.

  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 details in how to change or delete such a configuration, see Run/debug configurations.

Last modified: 26 August 2021