Run integration tests in parallel with per-fork database isolation

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: Build
    • None
    • None
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      Run this module's integration tests across parallel Gradle test forks instead of sequentially in a single JVM.

      Each fork is isolated to its own database (database name suffixed with the Gradle worker id; see MongoExtension and TestServiceContributor), so forks do not drop each other's data. Tests that toggle the mongod-global failCommand fail point cannot tolerate concurrent forks, so they are tagged @Tag("serial") and run in a dedicated single-fork integrationTestSerial task.

      Fork count defaults to cpus/2 and is overridable per machine via -PitForks. The parallelism is scoped to the root module; the Spring Boot modules keep single-fork execution.

      Result: the integration suite runs roughly 2-3x faster locally.

            Assignee:
            Jeffrey Yemin
            Reporter:
            Jeffrey Yemin
            Slav Babanin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: