HomeCoursesTest-Driven Development in Java
AI-powered learning
Save

Test-Driven Development in Java

Gain insights into test-driven development and hexagonal architecture. Learn about uncovering design flaws, using SOLID principles, and integrating domain logic with databases and web layers for defect-free code.

4.6
131 Lessons
32h
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
  • An understanding of the need for automated testing and test-driven development (TDD)
  • The ability to write well-engineered and well-tested code
  • Working knowledge of TDD techniques such as SOLID principles, hexagonal architecture, and test doubles
  • Hands-on experience writing integration tests to test-drive the database and API implementation for a sample application

Learning Roadmap

131 Lessons59 Quizzes

2.

Building the Case for TDD

Building the Case for TDD

Walk through the impact of bad code and the benefits of Test-Driven Development.

3.

Using TDD to Create Good Code

Using TDD to Create Good Code

6 Lessons

6 Lessons

Examine how TDD fosters high-quality code, prevents logic flaws, and documents effectively.

4.

Dispelling Common Myths about TDD

Dispelling Common Myths about TDD

8 Lessons

8 Lessons

Grasp the fundamentals of dispelling myths to appreciate TDD's benefits and efficacy.

5.

Building an Application Using TDD

Building an Application Using TDD

4 Lessons

4 Lessons

Solve problems in iterative development using TDD, focusing on agile methods and user feedback.

6.

Writing Our First Test

Writing Our First Test

12 Lessons

12 Lessons

See how it works to write, optimize, and validate unit tests with TDD principles.

7.

Following the Rhythms of TDD

Following the Rhythms of TDD

9 Lessons

9 Lessons

Build on the Test-Driven Development (TDD) cycle to refine code, enhance applications, and validate functionality.

8.

Driving Design—TDD and SOLID

Driving Design—TDD and SOLID

12 Lessons

12 Lessons

Try out TDD techniques and apply SOLID principles to design flexible, maintainable Java code.

9.

Test Doubles—Stubs and Mocks

Test Doubles—Stubs and Mocks

13 Lessons

13 Lessons

Walk through using stubs and mocks to facilitate reliable and maintainable unit tests in Java.

10.

Hexagonal Architecture—Decoupling External Systems

Hexagonal Architecture—Decoupling External Systems

10 Lessons

10 Lessons

Examine hexagonal architecture to decouple systems, enhancing testability, maintainability, and robust software design.

11.

FIRST Tests and the Test Pyramid

FIRST Tests and the Test Pyramid

8 Lessons

8 Lessons

Break down complex ideas on FIRST tests, the test pyramid, and CI/CD pipelines.

12.

Exploring TDD with Quality Assurance

Exploring TDD with Quality Assurance

7 Lessons

7 Lessons

Map out the steps for integrating TDD with quality assurance and manual testing methods.

13.

Test First, Test Later, Test Never

Test First, Test Later, Test Never

7 Lessons

7 Lessons

Focus on TDD principles, testing approaches, and using hexagonal architecture for efficient software testing.

14.

Driving the Domain Layer

Driving the Domain Layer

12 Lessons

12 Lessons

Master the steps to apply Test-Driven Development in creating robust game logic.

15.

Driving the Database Layer

Driving the Database Layer

5 Lessons

5 Lessons

Try out database integration using DBRider and Jdbi for test-driven development in Java.

16.

Driving the Web Layer

Driving the Web Layer

9 Lessons

9 Lessons

Unpack the core of developing and testing web endpoints for a microservice architecture.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Author NameTest-Driven Development in Java
Developed by MAANG Engineers
ABOUT THIS COURSE
Test-driven development (TDD) and hexagonal architecture enable developers to engineer code that is known to work and easy to work with. The techniques described in this course enable code to be delivered to production with few defects and a structure that can be easily and safely changed. You’ll begin by learning the importance of test-driven development (TDD) and its costs and benefits, with examples of bad code and its impact on team performance. You’ll learn how good code and TDD can uncover design and logic flaws early. You’ll also learn how SOLID principles and hexagonal architecture create well-engineered, testable code and how test doubles manage external dependencies. Finally, you’ll integrate the sample application’s domain logic with the database and web layers. By the end of this course, you’ll have mastered testing complexities and learned to integrate code with external systems with a deep understanding of practical techniques to elevate your development practices.
ABOUT THE AUTHOR

Packt

A tech learning platform that provides online courses, eBooks, videos, and other resources to help individuals and organizations stay ahead of emerging and popular technologies.

Learn more about Packt

Trusted by 2.9 million developers working at companies

These are high-quality courses. Trust me the price is worth it for the content quality. Educative came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks

A

Anthony Walker

@_webarchitect_

Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!

E

Evan Dunbar

ML Engineer

You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it.

S

Software Developer

Carlos Matias La Borde

I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site

S

Souvik Kundu

Front-end Developer

Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content.

V

Vinay Krishnaiah

Software Developer

Built for 10x Developers

No Passive Learning
Learn by building with project-based lessons and in-browser code editor
Learn by Doing
Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go
Learn by Doing
Future-proof Your Career
Get hands-on with in-demand skills
Learn by Doing
AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"
Learn by Doing
Learn by Doing
MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies
Learn by Doing

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath