What are the benefits of unit testing?