Eric Deandrea
Test-Driven Development: It's easier than you think!
#1about 3 minutes
Understanding the principles of test-driven development
Test-driven development is introduced as a practical approach to ensure code quality by building a pet adoption application with a REST API, Kafka, and a Postgres database.
#2about 2 minutes
Setting up a new Quarkus project in IntelliJ
A new Quarkus application is created using IntelliJ, selecting necessary extensions like REST with Jackson, Hibernate ORM, and the Postgres driver.
#3about 1 minute
Exploring Quarkus Dev Mode and Dev Services
Quarkus Dev Mode provides live reloading and Dev Services automatically starts a Postgres container without manual configuration, streamlining the development workflow.
#4about 3 minutes
Using an AI assistant to generate a JPA entity
The IntelliJ AI assistant generates a complete JPA entity class for a pet from a detailed text prompt, accelerating the initial data model creation.
#5about 4 minutes
Writing persistence layer tests with QuarkusTest
Persistence layer tests are created using the `@QuarkusTest` and `@TestTransaction` annotations, which manage the application context and ensure database changes are rolled back after each test.
#6about 1 minute
Implementing the Panache repository to pass tests
The repository layer is implemented using Quarkus Panache, which simplifies database queries and allows the previously written failing test to pass.
#7about 6 minutes
Mocking and testing the REST layer with Rest Assured
The REST API layer is tested by mocking the repository dependency with `@InjectMock` and using the Rest Assured library to verify HTTP responses and status codes.
#8about 2 minutes
Implementing the REST resource with AI assistance
An AI assistant generates the full Jakarta REST resource class based on the test suite, demonstrating how to implement code that satisfies a predefined set of tests.
#9about 3 minutes
Using virtual threads and the Quarkus Dev UI
Endpoints are switched to run on virtual threads using a simple annotation, and the Quarkus Dev UI is showcased as a tool for inspecting the database and other extensions live.
#10about 1 minute
Summary and resources for getting started with Quarkus
The session concludes by highlighting how quickly a fully tested application was built and points to the Quarkus superheroes demo for further learning.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
09:53 MIN
Implementing continuous testing and TDD workflows
Developer Joy with Quarkus
44:20 MIN
Q&A on testing strategies and team adoption
Write tests you love, not hate
40:27 MIN
Q&A on testing, diagrams, and templates
Stop configuring infrastructure, start coding it!
10:00 MIN
Solving Java's serverless challenges with Quarkus
Serverless-Native Java with Quarkus
09:27 MIN
Exploring the Quarkus reactive technology stack
Development of reactive applications with Quarkus
39:18 MIN
Adopting TDD as a design tool, not just a testing method
Treat yourself - A tale about dog training and test-driven development
33:43 MIN
Deploying reactive apps and key takeaways
Development of reactive applications with Quarkus
12:32 MIN
How Quarkus optimizes applications at build time
2021: Familiar APIs on Kickass Runtimes #slideless
Featured Partners
Related Videos
Developer Joy with Quarkus
Daniel Oh
Write tests you love, not hate
Jens Happe
Quarkus. A Bliss for developers
Alex Soto
Like Spring, but Faster: The new Java Jedi
Eric Deandrea
Development of reactive applications with Quarkus
Niklas Heidloff
Supercharge Agentic AI Apps: A DevEx-Driven Approach to Cloud-Native Scaffolding
Daniel Oh
How Unit Testing Saved My Career
Annelore Egger
Breaking the Bug Cycle: TDD for the Win
Nadeen Hussein
From learning to earning
Jobs that call for the skills explored in this talk.

Test System and Release Engineer (m/w/d)
AKDB Anstalt für kommunale Datenverarbeitung in Bayern
München, Germany
Intermediate
Senior
JavaScript
Automated Testing







Working Student - Development of a Test Setup for automated testing of ADAS Functions using Carla and ROS2
FDTech GmbH
C++
Bash
Unix
Python
Docker
