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
13:09 MIN
Getting instant feedback with continuous testing
Quarkus. A Bliss for developers
19:56 MIN
Adopting a modern tech stack for faster development
How to Destroy a Monolith?
21:25 MIN
Integrating a database with automatic dev services
Developer Joy with Quarkus
00:04 MIN
Discovering reactive programming through a modern Quarkus project
Is reactive the new black? Imperative vs. reactive programming with Quarkus
05:47 MIN
Scaffolding a new application with live coding
Developer Joy with Quarkus
24:46 MIN
Demo of automated code transformation with Kai
Application Modernization Leveraging Gen-AI for Automated Code Transformation
29:11 MIN
Running the fully modernized Quarkus application
Supercharging Static Code Analysis: Konveyor AI & LLMs
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
How Unit Testing Saved My Career
Annelore Egger
Supercharge Agentic AI Apps: A DevEx-Driven Approach to Cloud-Native Scaffolding
Daniel Oh
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.



Senior Full-Stack Engineer (Java Quarkus/Angular, Kafka, Microservices)
Callista Group
Basel, Switzerland
Senior
Apache Kafka
Microservices




Software Developer (IntelliJ Platform - Version Control Experience) New
JetBrains GmbH
GIT
Gitlab
Kotlin
GraphQL

Senior Java-Entwickler - mit DevOps-Mindset & Quarkus-Erfahrung
Fujitsu
Senior
DevOps
Docker
Jenkins
Terraform
Kubernetes
+1
