Journal
Testing GraphQL APIs with Spring GraphQL and WebTestClient in practiceGraphQL has reshaped how many Australian engineering teams think about API contracts. Instead of a handful of REST endpoints that often return more data than…Java Thread Safety Testing with Concurrency LibrariesModern Java applications rarely run in isolation. A booking engine processing tour reservations from a Sydney data centre, a payments service clearing…Using Mutation Testing With PIT to Improve Java Test QualityA Java test suite can report excellent line coverage while still missing the defects that matter to customers. A test may execute a branch without checking its…Testing Custom Exceptions and Error Handling in Java REST ControllersA REST controller rarely fails in just one way. A request may contain malformed JSON, a valid identifier that does not exist, a business rule violation, or…How to Mock Logging Output in JUnit Tests with LogbackLogs are often treated as a side effect of application code, yet they can carry important behaviour: an audit event, a rejected request, a retry warning, or a…Testing Spring Boot Scheduled Tasks With TestSchedulerScheduled jobs are easy to write in Spring Boot and surprisingly easy to test badly. A method annotated with @Scheduled may run every few minutes, call an…Performance Testing Database Queries with JMeter and JDBCDatabase performance often determines whether an application feels dependable or frustrating under load. A REST endpoint may return quickly during development,…How to Write Unit Tests for Java Reflection and Annotation ProcessingReflection and annotation processing often sit behind frameworks, dependency injection, validation, serialisation, mapping, and code generation. When the…Vagrant and Testcontainers for reliable dockerized test environmentsModern software teams rarely run tests against the same operating system, kernel, or system libraries that ship to production. Linux containers changed that,…Testing JPA Repositories with @DataJpaTest and TestcontainersJPA repositories sit close to the database, so tests that replace PostgreSQL with an in-memory H2 database can create misleading confidence. SQL generated by…