Test Driven Development is easy, if your code has no dependencies that is. The reality of our world is mired with dependencies, however. All the idealistic approaches to unit testing soon fall flat when the tests meet the realities. Mocking can be an effective way to alleviate these concerns, at least that is what we have been told. However, mocks often tend to burden our tests and make them hard to maintain. Seems like we are in a quagmire. In this presentation we will learn some simple techniques that can help us be quite effective with mocking. We will start a couple of problems that have dependencies. We will then take up the task of creating automated unit tests for it. Along the way, using testing and mocking tools, we will learn some effective ways to deal with the dependencies and create maintainable automated tests.