pythonunit-testingtestingpytest

pytest doesn't run any test


pytest doesn't run any tests and it is not clear why. I tried to use --debug but didn't get any valuable information. It is completely not clear how to debug this sort of issues with pytest. (Looks like some issue with pytest configuration / env variables / test names patterns?)

Example of test file:

import pytest

@pytest.mark.sanity
def test_me():
    """I'm a test."""

    assert True

But pytest doesn't run any test, why?

$ pytest
================================================== test session starts ===================================================
platform linux2 -- Python 2.7.12, pytest-3.1.3, py-1.4.34, pluggy-0.4.0
rootdir: /home/qawizard/pytest-hell, inifile:
plugins: xdist-1.15.0, timeout-1.2.0
collected 1 item s

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Exit: Done! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================== no tests ran in 0.13 seconds ==============================================

Solution

  • To determine why tests are not running, these steps are useful:

    1. Verify that all files with test cases have a 'test_' prefix.
    2. Verify that all test case names also have a 'test_' prefix.
    3. Verify that you have created pytest.ini file in the root directory.
    4. Verify that you have __init__.py file in all directories/sub-directories of the project.