OverviewHistoryStatsSecurity
npx skills add ...
Documentation
SKILL.md
npx skills add giuseppe-trisciuoglio/developer-kit --skill unit-test-application-events
Provides patterns for unit testing Spring application events. Validates event publishing with ApplicationEventPublisher, tests @EventListener annotation behavior, and verifies async event handling. Use when writing tests for event listeners, mocking application events, or verifying events were published in your Spring Boot services.
npx skills add giuseppe-trisciuoglio/developer-kit --skill unit-test-application-events
Provides actionable patterns for testing Spring ApplicationEvent publishers and @EventListener consumers using JUnit 5 and Mockito — without booting the full Spring context.
@EventListener method invocation and side effects@Async + @EventListener)ApplicationEventPublisher in service testsspring-boot-starter, JUnit 5, Mockito, AssertJ@Mock on the publisher field in the service under testArgumentCaptor.forClass(EventType.class) to inspect published payloadThread.sleep() or Awaitility — then assert the async operation was calledeventCaptor.getValue() is not null before asserting fieldspublishEvent() was called with the correct event typeApplicationEventPublisher — never let it post to a real context in unit testsArgumentCaptor and assert field-level equality, not just typeThread.sleep() for deterministic waits@Async requires @EnableAsync — tests using Thread.sleep may still pass even if the async proxy is not wired in the test; use a mock verify instead@OrderThread.sleep() in CI environments — it makes tests flaky under load; replace with Awaitility .atMost() blocksSerializable