0
0
PyTesttesting~5 mins

Test independence in PyTest - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What does test independence mean in software testing?
Test independence means each test runs on its own without relying on other tests. This helps find bugs clearly and makes tests easier to fix.
Click to reveal answer
beginner
Why should tests not share state or data?
Sharing state can cause tests to pass or fail depending on the order they run. Independent tests avoid this problem by keeping data separate.
Click to reveal answer
intermediate
How does pytest help keep tests independent?
Pytest runs each test function separately and can use fixtures to set up fresh data for each test, ensuring no leftover data affects others.
Click to reveal answer
beginner
What is a common problem if tests are not independent?
Tests might pass or fail randomly depending on the order they run, making it hard to trust test results and fix bugs.
Click to reveal answer
intermediate
Show a simple pytest example that ensures test independence using fixtures.
import pytest

@pytest.fixture
def fresh_list():
    return []

def test_add_item(fresh_list):
    fresh_list.append(1)
    assert fresh_list == [1]

def test_empty_list(fresh_list):
    assert fresh_list == []

Each test gets a new empty list, so they don't affect each other.
Click to reveal answer
What is the main benefit of test independence?
ATests share data to save memory
BTests run faster together
CTests run without affecting each other
DTests depend on previous tests
In pytest, what feature helps create fresh data for each test?
AFixtures
BClasses
CDecorators
DAssertions
What can happen if tests share state?
ATests may pass or fail unpredictably
BTests always run faster
CTests become shorter
DTests never fail
Which is a good practice to keep tests independent?
ASkip tests randomly
BRun tests in a fixed order
CShare global variables
DReset data before each test
If test A fails only when test B runs before it, what is the problem?
ATests have too many assertions
BTests are not independent
CTests are too fast
DTests use fixtures
Explain why test independence is important and how pytest fixtures help achieve it.
Think about tests running alone and not affecting each other.
You got /4 concepts.
    Describe a simple pytest example that shows two independent tests using fixtures.
    Remember the example with a fresh list for each test.
    You got /4 concepts.