Developers make changes and enhancements, and they think everything is fantastic.
They push it up into source control, and go home for the night.
But It’s not fantastic.
They don’t have unit tests to prove their code. The next morning, the other developer(s) update the code, and it breaks.
Then of course you get into the inevitable series of emails centering around “Hey – this doesn’t work!”
Here’s the deal: If you make changes to source code, you better have tests in place to prove that it works, and have run them and seen that they work. They don't "have to be" fancy unit tests (although that's preferable). They just have to prove that whatever you did works.
Only then should you feel comfortable and confident that you can check in your code.
Anything less is completely unacceptable. Please DO NOT make me test your code for you!