Bird
Raised Fist0
PyTesttesting~5 mins

Running tests (pytest command) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the basic command to run tests using pytest?
The basic command is pytest. Running this in the terminal will discover and run all test files and functions following pytest naming conventions.
Click to reveal answer
beginner
How do you run a specific test file with pytest?
Use pytest <filename>.py to run tests only in that file. For example, pytest test_example.py runs tests in test_example.py.
Click to reveal answer
beginner
What option shows detailed output for each test when running pytest?
Use pytest -v to run tests in verbose mode. It shows each test name and its pass/fail status clearly.
Click to reveal answer
intermediate
How can you run only tests that failed in the last pytest run?
Use pytest --lf (or --last-failed) to rerun only the tests that failed previously. This helps focus on fixing errors quickly.
Click to reveal answer
intermediate
What does the command pytest -k "expression" do?
It runs only tests whose names match the given expression. For example, pytest -k "login" runs tests with 'login' in their names.
Click to reveal answer
Which command runs all tests in the current directory using pytest?
Apytest
Bpytest run
Cpytest all
Dpytest start
How do you run tests in a specific file named test_math.py?
Apytest run test_math.py
Bpytest -f test_math.py
Cpytest test_math.py
Dpytest -file test_math.py
What does the -v option do when running pytest?
ARuns tests very fast
BRuns tests in verbose mode showing detailed info
CValidates test syntax only
DVerifies pytest installation
Which pytest option reruns only the tests that failed last time?
A--fail-last
B--failed-only
C--rerun-fail
D--lf
How do you run tests with names containing 'user' using pytest?
Apytest -k "user"
Bpytest --name user
Cpytest --filter user
Dpytest -f user
Explain how to run all tests and how to run tests from a specific file using pytest.
Think about the simplest command and how to specify a file.
You got /3 concepts.
    Describe how to rerun only failed tests and how to run tests selectively by name using pytest.
    Focus on options that help save time during test runs.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the basic pytest command do when run in a project folder?
      easy
      A. It only checks the syntax of test files without running them.
      B. It automatically finds and runs all test files and test functions.
      C. It deletes all test files in the folder.
      D. It installs pytest in the project folder.

      Solution

      1. Step 1: Understand the default behavior of pytest command

        Running pytest without arguments searches for test files and runs all tests found.
      2. Step 2: Eliminate incorrect options

        Options A, C, and D describe actions pytest does not perform by default.
      3. Final Answer:

        It automatically finds and runs all test files and test functions. -> Option B
      4. Quick Check:

        pytest runs tests automatically = B [OK]
      Hint: pytest runs all tests by default when no file is specified [OK]
      Common Mistakes:
      • Thinking pytest only checks syntax
      • Assuming pytest deletes files
      • Confusing pytest with package installer
      2. Which of the following is the correct command to run pytest with detailed output?
      easy
      A. pytest -v
      B. pytest --detail
      C. pytest -d
      D. pytest --verbose-output

      Solution

      1. Step 1: Recall pytest option for verbose output

        The -v option stands for verbose and shows detailed test results.
      2. Step 2: Check other options for correctness

        Options -d, --detail, and --verbose-output are not valid pytest flags.
      3. Final Answer:

        pytest -v -> Option A
      4. Quick Check:

        Verbose flag is -v = C [OK]
      Hint: Use -v for verbose pytest output [OK]
      Common Mistakes:
      • Using -d instead of -v
      • Typing long incorrect flags
      • Confusing verbose with debug flags
      3. Given the command pytest test_math.py, what will happen?
      medium
      A. pytest runs all tests in all files in the folder.
      B. pytest runs tests but ignores test_math.py.
      C. pytest runs only the tests inside the file named test_math.py.
      D. pytest runs tests only if they are named test_math.py inside any folder.

      Solution

      1. Step 1: Understand pytest file argument behavior

        When a filename is given, pytest runs tests only from that file.
      2. Step 2: Eliminate incorrect options

        A: Runs all tests in all files (wrong when file specified). B: Ignores test_math.py (wrong). C: Misunderstands filename as test name search (wrong).
      3. Final Answer:

        pytest runs only the tests inside the file named test_math.py. -> Option C
      4. Quick Check:

        pytest filename runs tests in that file only = D [OK]
      Hint: Specify filename to run tests only from that file [OK]
      Common Mistakes:
      • Assuming pytest runs all tests ignoring filename
      • Confusing filename with test function name
      • Thinking pytest ignores specified files
      4. You run pytest -v test_example.py but get an error: pytest: error: unrecognized arguments: -v. What is the likely cause?
      medium
      A. pytest does not support the -v option.
      B. You typed the option incorrectly; it should be --verbose.
      C. The test file test_example.py does not exist.
      D. You are running pytest with a wrong command or from a wrong environment.

      Solution

      1. Step 1: Understand the error message

        The error says -v is unrecognized, which is unusual because -v is a valid pytest option.
      2. Step 2: Identify environment or command issues

        This usually means pytest is not properly installed or a different command is running (like python or another tool).
      3. Final Answer:

        You are running pytest with a wrong command or from a wrong environment. -> Option D
      4. Quick Check:

        Unrecognized option means wrong environment = A [OK]
      Hint: Check pytest installation and environment if options fail [OK]
      Common Mistakes:
      • Assuming -v is invalid option
      • Ignoring environment issues
      • Blaming test file existence for option errors
      5. You want to run only tests marked as slow in your project using pytest. Which command correctly runs only those tests?
      hard
      A. pytest -m slow
      B. pytest --only slow
      C. pytest --mark slow
      D. pytest -s slow

      Solution

      1. Step 1: Recall pytest marker option

        The -m option runs tests matching a marker expression, such as slow.
      2. Step 2: Verify other options

        Options --only, --mark, and -s do not filter tests by marker.
      3. Final Answer:

        pytest -m slow -> Option A
      4. Quick Check:

        Use -m to run tests by marker = A [OK]
      Hint: Use -m marker to run tests with that marker [OK]
      Common Mistakes:
      • Using incorrect flags like --only or --mark
      • Confusing -s (capture output) with marker filtering
      • Not marking tests before filtering
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard