Labs ICT
โญ Pro Login

Running Tests - CLI Options

Command-line options and useful flags for running tests.

2 min read | pytest
โญ

Want the full learning experience?

Get structured courses, certificates, projects, and instructor support with LabsICT Pro.

Explore Pro Courses

Basic Test Execution

The simplest way to run tests is to execute pytest in your project directory:

pytest

This discovers and runs all tests in the current directory and subdirectories.

Running Specific Files

You can target a specific test file:

pytest tests/test_login.py

Or run a specific test function within a file:

pytest tests/test_login.py::test_valid_login

Useful CLI Flags

pytest offers many command-line options to control test execution:

# Verbose output - show each test name
pytest -v

# Stop after first failure
pytest -x

# Run last failed tests only
pytest --lf

# Show print output (capture off)
pytest -s

# Run tests in parallel (requires pytest-xdist)
pytest -n auto

# Show the N most recent failures
pytest --tb=short

Selecting Tests with -k

The -k flag lets you filter tests by name expression:

# Run tests whose names contain "login"
pytest -k login

# Run tests whose names do NOT contain "slow"
pytest -k "not slow"

# Combine expressions
pytest -k "login or logout"

This is useful when you want to run a subset of tests without modifying your code.

Listing Tests

To see which tests would be run without actually running them:

# List all collected tests
pytest --collect-only

# List tests matching a keyword
pytest --collect-only -k login

๐Ÿงช Quick Quiz

Which command runs pytest from the terminal?