I’m being very careful to call this section “Unit Testing Basics,” emphasis on the “Basics.” Describing unit testing is beyond the scope of this book, and my objective here is to provide a basic outline of unit testing for total newbies. Specifically, I’m looking to show how the integrated unit-testing features work in Visual Studio 2012, and finally demonstrate that what we’ve done in the book is unit-testable.
We’ve gone to great lengths in our project to use MVVM—a very common objective of which is to provide unit-testing vectors. The question is, does it work?
If you’re not using unit testing in your day-to-day work, you should be. Unit testing is like having a savings account and the spare cash and discipline to put a little aside each month. There’s a little upfront pain, but when you need it, you’ll be extremely glad it’s there.
The principle of unit testing is based on the truism of software engineering that “system in known state plus known value yields predictable result.” So, if you have a method that multiplies two values together, you can create a unit test that plugs in two known values and checks against a known result. The principle is that if you happen to break that method somewhere down the line, you’ll be told about it before it ends up in the customer’s hands.
So a typical test might look like this:
// test the results of multiply...
// make sure that the ...