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
05:30 MIN
Implementing continuous testing and TDD workflows
Developer Joy with Quarkus
03:16 MIN
Getting instant feedback with continuous testing
Quarkus. A Bliss for developers
03:23 MIN
Adopting a modern tech stack for faster development
How to Destroy a Monolith?
06:56 MIN
Integrating a database with automatic dev services
Developer Joy with Quarkus
01:59 MIN
Discovering reactive programming through a modern Quarkus project
Is reactive the new black? Imperative vs. reactive programming with Quarkus
04:06 MIN
Scaffolding a new application with live coding
Developer Joy with Quarkus
10:56 MIN
Demo of automated code transformation with Kai
Application Modernization Leveraging Gen-AI for Automated Code Transformation
02:35 MIN
Running the fully modernized Quarkus application
Supercharging Static Code Analysis: Konveyor AI & LLMs
Featured Partners
Related Videos
Developer Joy with Quarkus
Daniel Oh
Quarkus. A Bliss for developers
Alex Soto
Like Spring, but Faster: The new Java Jedi
Eric Deandrea
Write tests you love, not hate
Jens Happe
Why you must use TDD now!
Alex Banul
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Continuous testing - run automated tests for every change!
Christian Kühn
Supercharge Agentic AI Apps: A DevEx-Driven Approach to Cloud-Native Scaffolding
Daniel Oh
Related Articles
View all articles



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


PROSOZ Herten GmbH
Herten, Germany
Junior
Intermediate
Senior
Java
Scrum
Kotlin
Microservices




BMS Corporate Solutions GmbH
Düsseldorf, Germany
Intermediate
Senior
Java
Hibernate

Saby New Compy
Karlsruhe, Germany
Intermediate

Think-cell
Foster City, United States of America
Intermediate
Unit Testing
Manual Testing
Automated Testing
