Test It Before You Ship It — Java API Testing Lab
Two hands-on days building a test suite you can actually trust — JUnit 5, Mockito, Spring Boot slices, Testcontainers against a real database, REST Assured and Karate from the outside, and a CI gate at the end — so production stops being the place your API gets tested first.
Designed for
- Java developers whose test suite is green and whose production is not
- Freshers who finished the Spring courses and have never tested beyond the happy path
- Teams whose "tests" are one controller test written for coverage
- Anyone who has deleted a flaky test instead of fixing it
- Fee
- ₹2,700
- Duration
- 2 days · 16 hours
- Each day
- 09:00 – 17:00
- Mode
- Offline / Online
The 2 days, hour by hour
10 hands-on sessions — every one ends in a thing
Day 1
09:00 – 17:00The fast layers — unit and slice
5 sessions09:00 – 10:15
Draw the pyramid for your own service
what each test layer buys, cost of each layer, mapping your current suite
Takeaway Your own suite mapped onto the pyramid — with the gaps named out loud, which is the plan for the two days.
10:30 – 11:45
Write unit tests that earn their keep
JUnit 5 lifecycle, parameterised tests, assertions that explain failure
Takeaway A failing test whose message alone tells you the bug — no debugger, no print statements.
12:00 – 13:00
Isolate with Mockito, without mocking everything
mocks vs stubs vs fakes, verify used sparingly, the over-mocked smell
Takeaway One over-mocked test rewritten until it tests behaviour instead of implementation — and survives a refactor to prove it.
14:00 – 15:15
Test the web slice with Spring Boot Test
@WebMvcTest and MockMvc, validation and error contracts, security in slices
Takeaway Controller tests that fail when a status code, error shape or validation rule quietly changes.
15:30 – 17:00
Test the data layer against the real thing
@DataJpaTest, Testcontainers vs H2, migrations under test
Takeaway The data layer tested on real PostgreSQL in a container — and the bug H2 would have hidden, demonstrated.
Day 2
09:00 – 17:00The outer layers — integration and outside-in
5 sessions09:00 – 10:15
Boot the whole service in a test
@SpringBootTest honestly costed, slice vs full context, context caching
Takeaway A full-context integration test that earns its runtime — and the suite reorganised so only a few need to.
10:30 – 11:45
Drive the API from the outside with REST Assured
given/when/then requests, asserting the contract, auth in outside-in tests
Takeaway The API exercised exactly as a client would — with the error contract asserted, not assumed.
12:00 – 13:00
Automate scenarios with Karate
feature files, data-driven scenarios, where Karate beats code
Takeaway A readable scenario file a non-developer could review — running against the same API, in CI like everything else.
14:00 – 15:15
Make the suite one you can trust
flaky tests to root cause, test data builders, what not to assert
Takeaway A planted flaky test hunted to its cause — time, order and shared state all interrogated on the way.
15:30 – 17:00
Turn it into a gate and defend it
the suite in GitHub Actions, coverage read honestly, review
Takeaway The whole pyramid running as a CI gate that blocks a real planted regression — and the argument for each layer, made to the room.
By the end of day 2, you are holding
A layered test suite on a real Spring Boot API — unit, slice, integration and outside-in — running against a containerised database and wired into CI as a gate, plus the judgment to say what each layer is for and what is not worth asserting.
Request a schedule
Test It Before You Ship It — Java API Testing Lab
Runs on request, for individuals and for teams.
More SkillLabs
One weekend, one capability
Agent Builder Lab
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
AI App Engineering Lab
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
Ground the Model — RAG Engineering Lab
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
Docker & Kubernetes for Developers
₹2,700 · 2 days · 16 hours
Next: 19 Sept
See the plan
Git, GitHub and GitHub Actions for Developers
₹2,700 · 2 days · 16 hours
Next: 22 Aug
See the plan
Ship It on AWS — Cloud Deployment for Developers
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
SQL for Application Developers
₹2,700 · 2 days · 16 hours
Next: 29 Aug
See the plan
Events in Motion — Kafka & Messaging for Java Developers
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
Linux Command Line Essentials
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
Logging & Monitoring for Production
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
Performance & Production Readiness
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
Redis & Caching for Java Services
₹2,700 · 2 days · 16 hours
Runs on request
See the plan
Who runs it
Practitioners, in the room with you
All trainers and mentorsEach workshop names its trainer before you book.

Vishal Shah
Founder & Principal Trainer
Two decades building and teaching commerce, banking and cloud platforms — still writing code
- Java & Spring Boot microservices
- TypeScript, React, Angular & Next.js
- Composable commerce (commercetools)
Running this for a team?
We deliver SkillLabs on site for institutions and engineering teams.
₹2,700
2 days · 16 hours