Mock Objects you own this product

This project is part of the liveProject series TDD for a Shopping Website
basic Spring • basic Spring Boot • basic JUnit
skills learned
isolate changes with mock based unit tests • overcome common mock object anti-patterns
Steven Solomon
1 week · 6-8 hours per week · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!


5, 10 or 20 seats+ for your team - learn more

Look inside

In this liveProject, you’ll explore the difference between mock-based and traditional Test-Driven Development. You’ll write tests using mock objects for an e-commerce store, then overcome common mocks anti-patterns—including the dreaded mocks returning mocks issue. You’ll tinker with a realistic codebase which contains missing test coverage, design shortcomings, and third-party integrations, then practice evolutionary architectural design and the mockist style of TDD.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Steven Solomon
Steven Solomon is a Staff Software Engineer at GitHub. He has been writing software professionally since 2007, and has worked in many sectors, including music publishing, retail, finance, loyalty, healthcare, and education. As a team lead, Steven mentors other engineers in the strategic adoption of agile thinking and techniques, allowing them to continuously improve until they find a sustainable balance to how they approach work. One agile practice that he is particularly passionate about is test-driven development (TDD), which he has used over the past 10 years to help teams deliver and demo working software every single week.


This liveProject is for Java software engineers with an intermediate level of experience using Spring MVC to build web applications. To begin this liveProject, you need to be familiar with the following:

  • Basic Spring
  • Basic Spring Boot
  • Basic JUnit
  • Basics of Git
  • Basic Unit Testing

you will learn

In this liveProject, you’ll learn how to reduce coupling by using mock based testing as part of test-driven development.

  • Isolate changes with mock based unit tests
  • Overcome common mock object anti-patterns
  • Reducing coupling to external dependencies with mocks and the Dependency Inversion Principle


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Mock Objects project for free