Deesha Tech Academy
Menu
WorkshopRuns on requestJavaJUnit 5MockitoSpring Boot TestTestcontainersREST AssuredKarate

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
Request a schedule

The 2 days, hour by hour

10 hands-on sessions — every one ends in a thing

Day 1

09:00 – 17:00

The fast layers — unit and slice

5 sessions

09: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:00

The outer layers — integration and outside-in

5 sessions

09: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.

How will you join?

Laptop ready with the prerequisites?

Opens WhatsApp with a message naming this workshop. We confirm your seat and payment by reply — this website stores nothing.

Who runs it

Practitioners, in the room with you

All trainers and mentors

Each workshop names its trainer before you book.

  • Vishal Shah

    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)
    Full profile →

Running this for a team?

We deliver SkillLabs on site for institutions and engineering teams.

Talk to Deesha

₹2,700

2 days · 16 hours

Request a schedule