TDD

Flaky Tests you own this product

This project is part of the liveProject series TDD for a Shopping Website
prerequisites
intermediate Spring • basic Spring Boot • basic JUnit • basic Gradle configuration
skills learned
bring stability to your test runs by replacing flaky integrations with stubs • define contracts from the view of the consumer • conform to contracts provided as the producer
Steven Solomon
1 week · 8-10 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!

team

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


Look inside

In this liveProject you will work to overcome common issues that emerge when teams use microservices and make heavy use of integration tests. This problem is known as flaky tests, which pass and then fail without the code changing. This can cause your team to produce more bugs, as they ignore their tests due to them failing when code isn’t broken. This project shows how to overcome flaky database tests caused by tests producing side effects that affect other tests. You will practice eliminating flaky API integration tests by using consumer-driven contract testing with Spring Cloud Contract. This will verify that both the server and client conform to the same contract, enabling you to be confident that any changes to an API won’t break the wishlist feature.

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.

prerequisites

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:


TOOLS
  • Intermediate Spring
  • Basic Spring Boot
  • Basic JUnit
  • Basics of Git
  • Basic Gradle configuration
TECHNIQUES
  • Basic Unit Testing

you will learn

This liveProject will provide a realistic experience dealing with flaky integrations, and bringing stability to your system builds. You’ll learn how to deal with shared microservices that act strangely, and how to overcome this challenge by adopting Consumer Driven design principles.


  • Bring stability to your test runs by replacing flaky integrations with stubs
  • Define contracts from the view of the consumer
  • Conform to contracts provided as the producer
  • Fix bugs in your API that a client demonstrated via a contract
  • Detecting test pollution by configuring Gradle and JUnit
  • Maintain tooling by configuring Gradle, and controlling JUnit logging

features

Self-paced
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

team

monthly
annual
$49.99
$499.99
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
  • Flaky Tests project for free