> Breaking changes in dependencies end up in production only if you don't have tests.
That's true. However, you have now replaced the work of a compiler with testing.
That's true. However, you have now replaced the work of a compiler with testing.
On top of that, sometimes mocking in tests also hide the string breaking change you don’t yet know about.
On top of my head, I saw this happen with a base64 string padded vs unpadded, or emojis making their way through when they did not before, etc.
So yeah, the compiler tells you which pieces of your jigsaw apparently fit together, but tests show you if you get the right picture on the jigsaw at the end (or on some regions).