Skip to content

Targeting Specific Tests ​

As your project grows, running the entire test suite every time can be slow and unnecessary. pytest gives you the flexibility to target specific tests.

  • If you want to run only the tests inside a particular directory (Ex: tests/api/), use:
shell
pytest tests/api/
  • If you want to run only the tests in a single test file/module, use:
shell
pytest tests/api/test_auth.py
  • To target a single test function or a class within a file, specify the function or class name after :::
shell
# Targeting a function
pytest tests/api/test_auth.py::test_login_success

# Targeting a class
pytest tests/api/test_auth.py::TestClass
  • To target a single test method within a class, specify the class name and method name after :::
shell
pytest tests/api/test_auth.py::TestClass::test_bad_id
  • You can even mix and match directories, files, classes, methods and test functions in a single command:
shell
pytest tests/api/ tests/db/test_db.py tests/api/test_auth.py::test_login_success
  • You can also target specific tests by using the -k expression filter or by selecting tests via markers. Both approaches are explained below.