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
- Put shared no-display skip logic in:
easy-postman-app/src/test/java/com/laker/postman/test/AbstractSwingUiTest.java - Make Swing/UI tests extend that base class.
- Use
@BeforeClass+SkipExceptionto skip tests when:GraphicsEnvironment.isHeadless()istrue- or Linux has neither
DISPLAYnorWAYLAND_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
SkipExceptionover brittle per-test conditionals. - After changes, verify with:
mvn -q -pl easy-postman-app -am -DskipTests compilemvn -q -pl easy-postman-app -am -Dtest=<TestClass> -Dsurefire.failIfNoSpecifiedTests=false -Djava.awt.headless=true test