Mocking – Removing External Dependencies

"Talk is cheap. Show me the code."
– Linus Torvalds

TDD is about speed. We want to quickly demonstrate whether an idea, concept, or implementation is valid or not. Further on, we want to run all tests quickly. A major bottleneck to this speed is external dependencies. Setting up the DB data required by tests can be time-consuming. The execution of tests that verify code that uses third-party APIs can be slow. Most importantly, writing tests that satisfy all external dependencies can become too complicated to be worthwhile. Mocking both external and internal dependencies helps us solve these problems.

We'll build on what we did in Chapter 3, Red-Green-Refactor – From Failure Through Success until Perfection. We'll extend Tic-Tac-Toe to use MongoDB as data storage. None of our unit tests will actually use MongoDB since all communications will be mocked. At the end, we'll create an integration test that will verify that our code and MongoDB are indeed integrated.

The following topics will be covered in this chapter:

  • Mocking
  • Mockito
  • Tic-Tac-Toe v2 requirements
  • Developing Tic-Tac-Toe v2
  • Integration tests
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.189.195.34