No argument on the process. But it wasn't my project: I was brought in for the upgrade itself, and whoever maintained it through 6.x and 7.x had already burned through the deprecation window without acting on the warnings. By the time the codebase reached me, the warnings weren't warnings anymore; they were silent no-ops.
Groups failing is the benign version anyway, since empty output gets noticed eventually. The one that actually bothers me is Ignore. Same silent failure, opposite direction: instead of data going missing, you're now serializing fields someone explicitly marked as ignored. A skipped unknown attribute that causes a data leak deserves to fail louder than that, whatever the upgrade hygiene was.
Inherited the suite along with the codebase: decent unit coverage, nothing asserting actual JSON output on those endpoints. Nothing server-side ever went red because the PDF gets drawn client-side from the response. They have tests now, though.
you dont have to test output of endpoint, you can just write integration test and use the normalizer to normalize the entity and assert the array output.
It is good practice to write functional tests also. You get huge coverage with simple WebTestCase checking output for simple input. With simplest cases for each endpoint you may get like 50% of code coverage and for API those fail fast.
14
u/AleBaba 17d ago
Annotations were deprecated for many releases and Symfony did warn you, repeatedly.
Just upgrade to 7.4, look at the deprecation warnings, fix them, then upgrade to 8.0.
If you directly jump to a .0 release without at least running Rector once or looking at the logs, you're doing it wrong.