Bird
Raised Fist0
PyTesttesting~5 mins

Registering markers in pytest.ini - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of registering markers in pytest.ini?
Registering markers in pytest.ini helps pytest recognize custom markers, avoid warnings, and organize tests by categories or features.
Click to reveal answer
beginner
How do you register a custom marker named slow in pytest.ini?
Add the following under the [pytest] section:
[pytest]
markers =
    slow: marks tests as slow to run
Click to reveal answer
intermediate
Why should you register markers instead of just using them directly in test code?
If markers are not registered, pytest shows warnings during test runs. Registering markers documents their purpose and improves test clarity.
Click to reveal answer
intermediate
What is the syntax to register multiple markers in pytest.ini?
List each marker on a new line under the markers key:
[pytest]
markers =
    slow: marks tests as slow
    smoke: marks smoke tests
    api: marks API tests
Click to reveal answer
beginner
Where should the pytest.ini file be placed in your project?
Place pytest.ini in the root folder of your project so pytest can find it automatically when running tests.
Click to reveal answer
What happens if you use a custom marker in pytest without registering it in pytest.ini?
APytest runs tests normally but shows a warning about unknown markers.
BPytest ignores the marker and skips the test.
CPytest throws an error and stops running tests.
DPytest automatically registers the marker.
How do you define a marker description in pytest.ini?
A[markers] marker_name = description
Bmarker_name = description of the marker
Cmarkers = marker_name: description of the marker
Dmarkers: marker_name - description
Where in the pytest.ini file do you register markers?
AUnder the [test] section
BUnder the [markers] section
CAt the top of the file without a section
DUnder the [pytest] section
Which of these is a valid marker registration in pytest.ini?
A[pytest] markers = database: marks tests that use the database
B[markers] database = marks tests that use the database
Cmarkers: database - marks tests that use the database
D[pytest] database = marks tests that use the database
Why is it helpful to register markers in pytest.ini?
ATo speed up test execution
BTo avoid warnings and document test categories
CTo automatically generate test reports
DTo disable tests permanently
Explain how to register a custom marker in pytest.ini and why it is important.
Think about the file structure and the syntax needed to tell pytest about your marker.
You got /6 concepts.
    Describe the consequences of not registering markers in pytest.ini when using them in your tests.
    Consider what pytest does when it sees a marker it does not recognize.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of registering markers in the pytest.ini file?
      easy
      A. To define test data inputs for parameterized tests
      B. To organize tests and avoid warnings about unknown markers
      C. To automatically generate test reports
      D. To speed up test execution by caching results

      Solution

      1. Step 1: Understand marker registration purpose

        Markers are labels for tests that help organize and select tests to run.
      2. Step 2: Recognize why registration is needed

        Registering markers in pytest.ini prevents warnings about unknown markers and keeps tests organized.
      3. Final Answer:

        To organize tests and avoid warnings about unknown markers -> Option B
      4. Quick Check:

        Marker registration = organize tests + avoid warnings [OK]
      Hint: Markers in pytest.ini prevent warnings and organize tests [OK]
      Common Mistakes:
      • Thinking markers speed up tests
      • Confusing markers with test data
      • Assuming markers generate reports
      2. Which of the following is the correct way to register a marker named slow in pytest.ini?
      easy
      A. [markers] slow: marks tests as slow
      B. [pytest] markers = slow
      C. [pytest] slow = marks tests as slow
      D. [markers] slow = marks tests as slow

      Solution

      1. Step 1: Identify correct section header

        Markers must be registered under the [markers] section in pytest.ini.
      2. Step 2: Check syntax for marker registration

        The correct syntax uses an equals sign = with a description, e.g., slow = marks tests as slow.
      3. Final Answer:

        [markers] slow = marks tests as slow -> Option D
      4. Quick Check:

        Markers section + equals sign = correct syntax [OK]
      Hint: Use [markers] section and '=' to register markers [OK]
      Common Mistakes:
      • Using [pytest] instead of [markers]
      • Using colon ':' instead of '='
      • Listing markers without description
      3. Given this pytest.ini content:
      [markers]
      api = marks tests as api tests
      slow = marks tests as slow
      
      What happens if you run pytest -m slow?
      medium
      A. Only tests marked with @pytest.mark.slow will run
      B. All tests will run except those marked slow
      C. Tests marked with @pytest.mark.api will run
      D. Pytest will show a warning about unknown marker

      Solution

      1. Step 1: Understand marker filtering with -m option

        The -m option runs tests matching the given marker name.
      2. Step 2: Match marker name with registered markers

        Since slow is registered and used, pytest -m slow runs only tests marked with @pytest.mark.slow.
      3. Final Answer:

        Only tests marked with @pytest.mark.slow will run -> Option A
      4. Quick Check:

        pytest -m marker = runs tests with that marker [OK]
      Hint: pytest -m runs tests with the named marker only [OK]
      Common Mistakes:
      • Thinking -m excludes tests with the marker
      • Confusing marker names
      • Expecting warnings when marker is registered
      4. You added this to your pytest.ini:
      [markers]
      fast marks tests as fast
      
      But when running tests, pytest shows a warning about unknown marker 'fast'. What is the problem?
      medium
      A. Marker name 'fast' is reserved and cannot be used
      B. Markers section header is misspelled
      C. Missing '=' sign between marker name and description
      D. pytest.ini file is in the wrong directory

      Solution

      1. Step 1: Check marker registration syntax

        The marker line must have an equals sign = between the marker name and its description.
      2. Step 2: Identify missing '=' causing warning

        Here, fast marks tests as fast lacks '=', so pytest treats 'fast' as unknown marker.
      3. Final Answer:

        Missing '=' sign between marker name and description -> Option C
      4. Quick Check:

        Marker line needs '=' sign [OK]
      Hint: Always use '=' between marker and description [OK]
      Common Mistakes:
      • Forgetting '=' sign
      • Misspelling [markers] header
      • Placing pytest.ini in wrong folder
      5. You want to register two markers in pytest.ini: db for database tests and ui for user interface tests. Which pytest.ini content correctly registers both markers?
      hard
      A. [markers] db = marks tests as database tests ui = marks tests as user interface tests
      B. [pytest] markers = db, ui
      C. [markers] db: marks database tests ui: marks UI tests
      D. [pytest] db = database tests ui = UI tests

      Solution

      1. Step 1: Confirm correct section header

        Markers must be under the [markers] section, not [pytest].
      2. Step 2: Verify correct syntax for each marker

        Each marker line uses = with a description, e.g., db = marks tests as database tests.
      3. Step 3: Check all markers are listed separately

        Both db and ui markers are listed on separate lines with descriptions.
      4. Final Answer:

        [markers] db = marks tests as database tests ui = marks tests as user interface tests -> Option A
      5. Quick Check:

        Separate lines under [markers] with '=' for each marker [OK]
      Hint: List each marker under [markers] with '=' and description [OK]
      Common Mistakes:
      • Using [pytest] instead of [markers]
      • Using commas to list markers
      • Using ':' instead of '='
      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