Make pytest check only one file

By default, Pytest checks all files matching its template. Pytest can select matching patterns of test files and test functions with the pytest -k ... option. Set breakpoint in a file to interactively debug in Spyder or other IDE.

Put default Pytest options in project “pyproject.toml”:

addopts = "-ra -v"

For Pytest to find and execute test scripts:

  • each function name must begin with test_ e.g. def test_my1(a, b):
  • each test file name must begin with test_ e.g.
  • each test file should be under a subdirectory somewhere in the project named tests/

To run self-tests on a specific file from the command line:

pytest src/mypkg/tests/

NOTE: Generally using __file__ is not robust for packages. Consider using fixtures and / or tmp_path where filesystem interaction is required from Pytest.