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?
44:20 MIN
Q&A on testing strategies and team adoption
Write tests you love, not hate
21:25 MIN
Integrating a database with automatic dev services
Developer Joy with Quarkus
40:27 MIN
Q&A on testing, diagrams, and templates
Stop configuring infrastructure, start coding it!
00:04 MIN
Discovering reactive programming through a modern Quarkus project
Is reactive the new black? Imperative vs. reactive programming with Quarkus
10:00 MIN
Solving Java's serverless challenges with Quarkus
Serverless-Native Java with Quarkus
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
Supercharge Agentic AI Apps: A DevEx-Driven Approach to Cloud-Native Scaffolding
Daniel Oh
Development of reactive applications with Quarkus
Niklas Heidloff
How Unit Testing Saved My Career
Annelore Egger
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.

Java & Quarkus Architect
Paradigma Digital
Boiro, Spain
Java
Azure
Kafka
Agile Methodologies
Continuous Integration
+1

Java & Quarkus Architect
Paradigma Digital
Municipality of Valencia, Spain
Java
Azure
Kafka
Agile Methodologies
Continuous Integration
+1

Java & Quarkus Architect
Paradigma Digital
Municipality of Madrid, Spain
Java
Azure
Kafka
Agile Methodologies
Continuous Integration
+1

QA Engineer (Remote Development Technology)
JetBrains GmbH
Berlin, Germany
Remote
Intermediate
Java
Kotlin

Java Software Engineer
Test Driven Solutions
Edinburgh, United Kingdom
Intermediate
Java
MySQL
NoSQL
Scrum
Jenkins
+4




Software Developer (IntelliJ Platform - Version Control Experience) New
JetBrains GmbH
Berlin, Germany
API
GIT
Java
Gitlab
Kotlin
+2