swing-ui-test-headless-guard

star 667

Use when adding or updating EasyPostman Swing/TestNG UI tests that may run in headless CI or no-display Linux environments.

lakernote By lakernote schedule Updated 4/23/2026

name: swing-ui-test-headless-guard description: Use when adding or updating EasyPostman Swing/TestNG UI tests that may run in headless CI or no-display Linux environments.

Swing UI Test Headless Guard

Use this skill for Swing UI tests under easy-postman-app/src/test/java.

Default pattern

  1. Put shared no-display skip logic in: easy-postman-app/src/test/java/com/laker/postman/test/AbstractSwingUiTest.java
  2. Make Swing/UI tests extend that base class.
  3. Use @BeforeClass + SkipException to skip tests when:
    • GraphicsEnvironment.isHeadless() is true
    • or Linux has neither DISPLAY nor WAYLAND_DISPLAY

Guardrails

  • Keep the base class narrow. Only put environment-skip behavior there unless multiple UI tests clearly need more.
  • Do not add this base class to non-UI tests.
  • Prefer SkipException over brittle per-test conditionals.
  • After changes, verify with:
    • mvn -q -pl easy-postman-app -am -DskipTests compile
    • mvn -q -pl easy-postman-app -am -Dtest=<TestClass> -Dsurefire.failIfNoSpecifiedTests=false -Djava.awt.headless=true test
Install via CLI
npx skills add https://github.com/lakernote/EasyPostman --skill swing-ui-test-headless-guard
Repository Details
star Stars 667
call_split Forks 54
navigation Branch main
article Path SKILL.md
More from Creator