Skip to content

one integration class is a fifth of the suite's runtime #1319

Description

@ExtraToast

RecoveryControllerEmailIT takes 1m08s for 7 tests. The whole integration suite is 121 classes in 5m16s, so one class is 22% of it. The next slowest, UserControllerIT, is 9.1s for 41 tests.

Measured on run 35332899202, from the uploaded api-test-reports artifact.

Sharding the suite (#1318) does not remove this: the class lands on one shard and pins that shard at ~114s while the other five finish between 26s and 58s. It is the floor on what sharding can reach, and it will stay the floor as the suite grows.

What to look at

Seven tests over 68 seconds is roughly 10s each, which is the shape of real waiting rather than real work — a polled mailbox, a scheduler tick, a token expiry, or a Thread.sleep standing in for one. The InMemoryEmailClient is synchronous under the test profile, so nothing here should need to wait on delivery.

Worth checking first: whether each test drives a distinct Spring context configuration. The integration run performs 43 Flyway migrations in its first 1m43s, and a class that forces its own context pays for a full schema rebuild.

Acceptance

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ci-cdjavaPull requests that update java codepriority/3-thenReal work with its prerequisites already settled.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions