This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch WW-5659-lazy-params-request-scoping in repository https://gitbox.apache.org/repos/asf/struts.git
commit 34ffa9a67471b39fb28754c57b625a17066f49b6 Author: Lukasz Lenart <[email protected]> AuthorDate: Mon Jul 27 10:16:47 2026 +0200 WW-5659 docs: clarify test base class constraint in the plan Co-Authored-By: Claude Opus 5 <[email protected]> --- .../superpowers/plans/2026-07-27-WW-5659-lazy-params-request-scoping.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-07-27-WW-5659-lazy-params-request-scoping.md b/docs/superpowers/plans/2026-07-27-WW-5659-lazy-params-request-scoping.md index f1af340e8..8391167ae 100644 --- a/docs/superpowers/plans/2026-07-27-WW-5659-lazy-params-request-scoping.md +++ b/docs/superpowers/plans/2026-07-27-WW-5659-lazy-params-request-scoping.md @@ -14,7 +14,7 @@ - **Ticket prefix:** every commit message starts with `WW-5659`. - **Target version:** 7.3.0. This is a deliberate public API break; no backport to 7.2.x. -- **Test style:** `core` tests are JUnit 3 style — extend `StrutsInternalTestCase` (which extends `XWorkTestCase`, which extends `junit.framework.TestCase`), use `protected void setUp()`, and name tests `public void testXxx()`. **A JUnit 5 `@Test` annotation compiles and silently never runs.** Never add one. +- **Test style:** `core` tests are JUnit 3 style — `protected void setUp()`, tests named `public void testXxx()`, no annotations. **A JUnit 5 `@Test` annotation compiles and silently never runs.** Never add one. Extend `StrutsInternalTestCase` (which extends `XWorkTestCase`, which extends `junit.framework.TestCase`) when the test needs the Struts container or `ActionContext`; extend `junit.framework.TestCase` directly for pure value-object tests that need neither. - **Assertions:** use AssertJ (`import static org.assertj.core.api.Assertions.assertThat;`), matching the existing `ActionFileUploadInterceptorTest`. - **Package:** all new production types go in `org.apache.struts2.interceptor`. - **License header:** every new `.java` file starts with the ASF header, copied verbatim from `core/src/main/java/org/apache/struts2/interceptor/WithLazyParams.java:1-18`.
