The Power of Data-Driven Testing: A Deep Dive into Jakarta Persistence Specifications and NoSQL
summary
Modernizes Jakarta Persistence testing across many legacy repos with a six-step process and a short test guideline, migrates to JUnit Jupiter and AssertJ, and runs NoSQL compatibility checks using TestContainers for over 25 databases; uses parameterized tests (ValueSource, MethodSource), groups soft assertions, and applies mutation testing with PIT to expose unseen gaps despite high line coverage. Builds reusable base-test containers to avoid per-test Docker churn, automates CI runs where Docker is available, and reports concrete failing mutations that lead to new targeted tests.
AI-written summary · about
chapters (9)
- 0:00Jakarta Persistence modernization
- 5:20Legacy code challenges
- 6:24Test guidelines for consistency
- 11:39Testing tools and JUnit 5
- 14:08Data-driven testing with JUnit 5
- 21:20Assertions with AssertJ
- 28:28Mutation testing with PIT
- 33:50Database tests with Testcontainers
- 41:02Key takeaways
related talks
43mMake your life easier with Jakarta's new persistence features: Data and NoSQL
55mNext-Gen Testing Tools for Java
48mModern Testing Patterns
47mFrom Bugs to Brilliance: Testing Toolbox in Action
01h 05mJava Testing Part 1: JUnit Jupiter and AssertJ
02h 46mThe Joy of Testing
45mJakarta Data - Standardized Data Access for SQL and NoSQL Databases
51mTest-Driven: from Zero to Hero
