nzw921rx opened a new pull request, #11212:
URL: https://github.com/apache/seatunnel/pull/11212
### Purpose of this pull request
Add a comprehensive Test Coding Guide for Apache SeaTunnel that establishes
five core rules for writing stable, leak-free, and deterministic E2E and unit
tests. The guide covers:
- Dynamic port usage (no hardcoded ports)
- Condition-based waiting with Awaitility (no `Thread.sleep`)
- Resource cleanup patterns (`TestResource`, try-with-resources)
- Async job submission for streaming/CDC tests
- Deterministic and efficient test design (container reuse, full type
coverage)
- Zeta engine thread-leak whitelist handling
Additionally, this PR introduces a `.skills/seatunnel-test-suite/` directory
containing an AI coding skill definition that references the guide, enabling AI
assistants to enforce these test conventions during code review and test
authoring.
Changed files:
- `docs/en/developer/test-coding-guide.md` — English version of the test
coding guide (new)
- `docs/zh/developer/test-coding-guide.md` — Chinese version of the test
coding guide (new)
- `docs/sidebars.js` — Register the new guide in the documentation sidebar
- `.skills/seatunnel-test-suite/SKILL.md` — AI skill definition for test
suite authoring/review (new)
- `.skills/seatunnel-test-suite/agents/openai.yaml` — Agent configuration
for OpenAI-based assistants (new)
### Does this PR introduce _any_ user-facing change?
Yes. A new developer documentation page ("Test Coding Guide") is added to
both English and Chinese docs under the Developer section. Contributors will
see it in the sidebar between "Coding Guide" and "How to Create Your Connector".
### How was this patch tested?
Documentation-only change. Verified that the sidebar entry is correctly
placed and that both language versions are consistent. No code logic changes
require unit or E2E tests.
### Check list
* [ ] If any new Jar binary package adding in your PR, please add License
Notice according [New License
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/developer/new-license.md)
* [x] If necessary, please update the documentation to describe the new
feature. https://github.com/apache/seatunnel/tree/dev/docs
* [ ] If necessary, please update `incompatible-changes.md` to describe the
incompatibility caused by this PR.
* [ ] If you are contributing the connector code, please check that the
following files are updated: (N/A — not a connector change)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]