In the rush to figure out exactly how much something is going to cost, even though we're practicing scrum has introduced some bad habits. One of those bad habits is pre-maturely designing your software.
You may have heard about "The Joel Test" before. It's a checklist of sorts, of things that you should look for before joining another software team. This checklist was written more than 17 years ago! What might we change or include if we were to make a new list today?
So you're unit testing, and perhaps even practicing Test Driven Development (TDD). Congratulations! You're likely better than at least half of your peers! There is just one thing you cannot figure out. How am I supposed to just test one thing when my code has dependencies? Enter Mocking!