PyCharm 2022.1 Help

Testing frameworks

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 Professional

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. 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: 14 February 2022