A test named “upload a portrait” can start producing different results if portrait.jpg is replaced with a newer export. If the filename stays the same, a review may focus on the upload code while the test is exercising a different file.
Give each fixture a stable path and describe the property the test needs. For a test that checks whether a preview keeps the right proportions, record the source dimensions next to the fixture. A file named portrait-600x900.jpg still needs a check: the name does not change if somebody replaces the file with a 900 by 600 export.
Include a digest of the file in the result when the test runs on multiple machines. Calculate it from the fixture bytes in the test setup and include it in the failure output with the expected dimensions. If two runs report different digests, compare the test inputs before changing the code. If the digests match, compare what the decoder and preview received.
When a test fails, report the dimensions from each stage separately. “Input 600×900; preview 300×450; downloaded copy 450×300” shows where the orientation first changed. A line that says only “unexpected size” hides where the first change occurred.
Use a small synthetic fixture when the content of the picture does not matter. Commit a replacement as a deliberate fixture change and update the expected values in the same review. Then the reviewer can see which behavior the revised test covers.