JRG
JRG

Reputation: 210

How to run a particular test in PyCharm

I have 60 functional tests in one file. I wrote them in Notepad++ and used py.test as the test framework. Today I decided to swap Notepad++ with PyCharm. I opened my file of functional tests in PyCharm and ran the tests from PyCharm, as you can see in the picture:

enter image description here

Now, after confirming that I could run all of the tests, I tried to run an individual test, for example test_login_with_extantUser_using_email. Logically, I right-clicked on the test, expecting a "run test" button or something similar to appear. But no such thing appeared. In fact, it appears that there is no way to run an individual test by simply right-clicking on it.

So my question is, how can I run an individual test? Must I set up a configuration for each one in the Edit Configurations menu? That would take a very long time, considering that I have 60 tests.

enter image description here

Upvotes: 2

Views: 523

Answers (2)

Sergey M.
Sergey M.

Reputation: 298

Base on pt.test doc you can specify particular test_case for running with -k (which means keywords obviously). In your case it should be like pytest -k "test_login_with_extantUser_using_email" if you running in CLI.

If you want to run particular test with Pycharm, you have to fill 'Keywords' field in Run/Debug Configurations. enter image description here

Best Regards.

Upvotes: 0

JRG
JRG

Reputation: 210

I have found the problem. It's a bug in Pycharm that needs to be fixed. I will explain the bug.

Right-clicking an individual test will not display the option to run the test if the test is not a member of a class that inherits from unittest.TestCase. This is true even if you are not using unittest, as in my case, in which I am using py.test.

When I made my py.test test classes inherit from unittest.TestCase, I got the option to run tests individually when I right-clicked on a test.

I have reported the bug to Pycharm. Time will tell if they fix it. https://youtrack.jetbrains.com/issue/PY-26754

Upvotes: 1

Related Questions