As the complexity of software increases, so does the possible number of different execution paths through the system. For this reason, gone are the days where you could simply assume it’s all going to work seamlessly without any hiccups. Although the notion of unit testing isn’t new, what is relatively new is the introduction of this practice into mainstream programming.
One of the biggest problems with asking a developer to test her code is more of a social problem as opposed to a technical one. No developer likes to admit she is developing bad or buggy code. Most take the moral high ground, claiming that their code is above testing. So, to make sure code can be tested, the framework has to be very easy and nonintrusive. Enter in