Some of the key benefits of Unit Testing include:
Trusted Code: Unit Testing is the best mechanism that a developer can use to make its code rock solid, by creating unit tests for all possible paths in a method the developer can ensure that it will not break for any valid inputs and will handle all invalid inputs gracefully.
Design and Specification: Developers can translate their understanding of the specifications into unit test. TDD approach.
Code Coverage and regression testing: They enable us to unambiguously pinpoint the occurrence of a bug, as well as point out inefficient lines of program code at the level of separate modules
Documentation: they can be considered as the documentation for correct program behavior.