Test Overview
This test uses a factory fixture to create user objects with different names. It verifies that the created user has the expected name.
This test uses a factory fixture to create user objects with different names. It verifies that the created user has the expected name.
import pytest class User: def __init__(self, name): self.name = name @pytest.fixture def user_factory(): def create_user(name): return User(name) return create_user def test_user_name(user_factory): user = user_factory("Alice") assert user.name == "Alice" user2 = user_factory("Bob") assert user2.name == "Bob"
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts | pytest test runner initialized | - | PASS |
| 2 | pytest discovers test_user_name and user_factory fixture | Fixtures ready to be injected | - | PASS |
| 3 | pytest calls user_factory fixture to get create_user function | user_factory returns create_user function | - | PASS |
| 4 | test_user_name calls create_user("Alice") to create user object | User object with name 'Alice' created | Check user.name == 'Alice' | PASS |
| 5 | test_user_name asserts user.name == 'Alice' | User name is 'Alice' | user.name == 'Alice' | PASS |
| 6 | test_user_name calls create_user("Bob") to create second user object | User object with name 'Bob' created | Check user2.name == 'Bob' | PASS |
| 7 | test_user_name asserts user2.name == 'Bob' | User name is 'Bob' | user2.name == 'Bob' | PASS |
| 8 | Test ends successfully | All assertions passed | - | PASS |