Writing expressive tests with pytest
pytest allows many tests to be ordinary Python functions with simple assert statements. Its fixtures and parametrization features make it practical for larger test suites.
Fixtures provide controlled setup
Use fixtures when several tests need the same prepared resource. Keep fixtures focused so that a reader can still understand what each test depends on.
Parametrize repeated scenarios
When one behavior should work for many input/output pairs, parametrization avoids copy-pasted test functions and makes the expected cases visible in one place.
Practice: create parametrized tests for a temperature conversion function using several known values and boundary cases.