spring-projects / spring-projects/spring-framework

Improve support for `@Nested` and `@NestedTestConfiguration` in various test framework contracts

Open
#30,310 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

in: test status: pending-design-work type: documentation type: enhancement
Dominant language
Java
Stars
60.2k
Forks
38.8k
Avg merge
5d 2h
Merged PRs (30d)
27

Description

Overview

It's unclear to me exactly where support for @Nested and @NestedTestConfiguration fits into the test framework's various contracts. Clarifying that would, I hope, make it easier to understand which APIs and utility methods support @Nested and which require implementers of those contracts to roll their own support. Hopefully the situations where implementers need to roll their own support can then be reduced and, ideally, eliminated entirely.

One specific example is AnnotationConfigContextLoaderUtils. I'm rather confused about the purpose and general utility of AnnotationConfigContextLoaderUtils if it doesn't support @Nested and @NestedTestConfiguration semantics.

Perhaps this would be better handled as two issues? One to make some additions to the javadoc to describe the current situation and steer implementers in the right direction and a second to reduce the cases where implementers need to do anything at all.

Related Issues

  • #31456

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading AnnotationConfigContextLoaderUtils and the related issue #31456, then map how @Nested and @NestedTestConfiguration are handled across the test framework contracts. Determine whether the work should clarify the current behavior in Javadoc, reduce the need for implementers to add support, or both; done means the relevant contracts and utility behavior are clearly documented and supported consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.