Category: Hands-on / Engineering
-
Hands-on Java 25 Series: #4 – Integration Testing – Simplicity with Spring Boot 4
The Context While unit tests focus on isolation, Integration Tests (IT) are crucial for ensuring that different software modules work together in harmony. In this P.o.C. project, we utilize a dedicated test-it folder to separate these broader tests from our unit tests, representing a best practice in project organization. The Problem: how to implement? Since…
-
Hands-on Java 25 Series: #3 – Unit Test Mastery with Spring Boot
The Context A robust testing suite is the cornerstone of any reliable software project and the latest versions of Spring Boot Test make implementing these cases easier than ever. In this articule we focus on Unit Tests, which are designed to ensure that individual components perform as intended in isolation. The goal is early problem…
-
Hands-on Java 25 Series: #2 – Embracing the Future – Java 25 and Spring Boot 4.0.X
The Context The technological landscape of 2026 demands systems that are not just functional but highly resilient and scalable. In this P.o.C. project, we are leveraging the cutting edge: Java 21, Java 25 and Spring Boot 4.0 (which incorporates Spring Framework 7). The Problem Understanding the Java 21 – 25 context of these versions is…
-
Hands-on Java 25 Series: #1 – The Power Duo of MyBatis and jOOQ
The Context In this post I want to dive into a significant shift in my persistence strategy. For a P.o.C. project, I have decided to utilize jOOQ for the first time… and the experience has been a revelation. One of the most exhausting aspects of traditional database interaction is the maintenance of “native queries” or…
-
Hands-on: Rust Test Series: #4 – Orchestrating Integration Tests
The Context While unit tests prove individual modules work, integration testing ensures that these components work together in harmony. The POC project demonstrates this through foo_get_integration_test.rs (or foo_post_integration_test.rs), which validates the complete flow from the endpoint to the 3rd party API. The Problem A common mistake is thinking that if all unit tests pass, the…
-
Hands-on Rust Test Series: #3 – Mock External API Dependencies with Wiremock
The Context Modern applications frequently communicate with 3rd party APIs. In the provided POC, the foo_service.rs and integration tests interact with external URLs. Testing these interactions is critical, as data can change or fail when transferred across modules. The Problem Relying on a real 3rd party API during testing is a major anti-pattern. Real APIs…
-
Hands-on Rust Test Series: #2 – Supercharge Your Test Suites with Rstest
The Context In the POC project, particularly in foo_service.rs, we often need to test the same logic against multiple inputs. Writing a separate test function for every single variation (happy path, unhappy path, edge cases) quickly becomes a maintenance nightmare. The Problem Standard Rust tests can lead to significant code duplication. If you have five…
-
Hands-on Rust Test Series: #1 – Mocking Made Easy with Mockall
The Context When building complex Rust applications, you quickly realize that testing a single “unit” is difficult if it is tightly coupled to other services. Unit testing aims to ensure each part of the software performs as intended in isolation. However, controllers and services often depend on traits that handle database access or external logic,…
-
Hands-on Rust: Building a “Massive” S3 Downloader
The Context A few weeks ago, while running User Acceptance Testing (UAT) with a client, we hit a simple snag that was causing a disproportionate amount of friction. The client used HTML templates hosted on an Amazon S3 bucket. Every time the user requested a copy change or a layout tweak, the team hit a…
-
Hands-on: Migrating to Java 25 and Spring Boot 4.0.0
The Context Recently, a client approached me with a specific requirement: update two of their Spring Boot applications to the latest available versions. With the recent availability of Spring Boot 4 support for Java 25, we decided it was the perfect opportunity to embrace the bleeding edge. While the benefits of migrating are numerous (you…