For the past few weeks I have been building a library for Android apps dealing with SQLite databases, and I am writing unit tests.
I can say 100% for sure, that without unit tests, I would never get this project finished. Or what I thought was finished was no where near finished.
Unit Tests are saving my arse. It is fully letting me know if I have created a good API, whether I have fully thought of all the possible combination of successful and unsuccessful things that a user of my library might create, and that my code actually does what it says it does and works correctly. That last one is pretty amazing, because I look at the code and it looks like it should work, and I even have an Android app that I am using it in that has that part work. But when testing it with all different scenarios, I found that I had a false sense of success.
Thank god we have Unit and Integration Testing to help define and literally help write our code.