Title: JUnit 5 migration and parallel Unit Test Execution · Issue #2649 · googleapis/java-pubsub · GitHub
Open Graph Title: JUnit 5 migration and parallel Unit Test Execution · Issue #2649 · googleapis/java-pubsub
X Title: JUnit 5 migration and parallel Unit Test Execution · Issue #2649 · googleapis/java-pubsub
Description: This is a polite proposal for my contribution to this repo. If approved by the team I can take the initiative and do this migration, also the parallel execution described below will greatly speed up build time. Also I believe this issue ...
Open Graph Description: This is a polite proposal for my contribution to this repo. If approved by the team I can take the initiative and do this migration, also the parallel execution described below will greatly speed u...
X Description: This is a polite proposal for my contribution to this repo. If approved by the team I can take the initiative and do this migration, also the parallel execution described below will greatly speed u...
Opengraph URL: https://github.com/googleapis/java-pubsub/issues/2649
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"JUnit 5 migration and parallel Unit Test Execution","articleBody":"This is a polite proposal for my contribution to this repo. If approved by the team I can take the initiative and do this migration, also the parallel execution described below will greatly speed up build time.\n\nAlso I believe this issue https://github.com/googleapis/java-pubsub/issues/2460 can be addressed while migrating as well\n\n\n## Is your feature request related to a problem? Please describe.\nThis repository contains a large unit test suite (800+ tests) that currently runs in ~2 minutes. The tests are written in JUnit 4, which limits developers ability to leverage JUnit’s built-in parallel execution features. As the suite keeps growing, keeping CI feedback fast becomes harder.\n\n## Describe the solution you’d like\nEnable faster test execution by migrating the unit test suite to JUnit 5 (Jupiter) and turning on JUnit 5 parallel test execution. The goal is to reduce CI wall-clock time for the test phase while preserving determinism and keeping flaky tests under control (with the ability to opt specific tests out of parallelism when they touch shared state).\n\n## Describe alternatives you’ve considered\nParallelization at the build tool level only (e.g., Maven Surefire forks / Gradle parallel test workers) without migrating to JUnit 5.\nSplitting/sharding tests across multiple CI jobs.\nKeeping JUnit 4 and introducing a custom parallel runner (adds complexity and tends to be less maintainable than Jupiter’s native model).\nLeaving tests sequential and focusing only on test optimization (still doesn’t scale as the suite grows).\n\n## Additional context\nJUnit 5 provides first-class parallel execution controls via configuration (junit-platform.properties) and per-test opt-outs, which should make it easier to safely introduce concurrency compared to JUnit 4. The migration would also modernize the test stack and align better with the broader Java ecosystem moving toward Jupiter.\n\n\n","author":{"url":"https://github.com/AbgarSim","@type":"Person","name":"AbgarSim"},"datePublished":"2025-12-19T11:33:13.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/2649/java-pubsub/issues/2649"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:a6367e86-0cb1-d17f-0e10-56c530c88583 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | BEA8:96DD6:AD5FBF:E0FF9A:69908485 |
| html-safe-nonce | b61a5419942ef8f09dd001e31dc6229a5fa5edfb58600ebd7b0dda94729b2c01 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRUE4Ojk2REQ2OkFENUZCRjpFMEZGOUE6Njk5MDg0ODUiLCJ2aXNpdG9yX2lkIjoiNTgwMDE0NzM1Njk3NzQ5NzIyMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | b3225ac73989dde7a4d54cd117ac053a2c15be74e7112d86559144e6c5ac8d6c |
| hovercard-subject-tag | issue:3747191794 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/googleapis/java-pubsub/2649/issue_layout |
| twitter:image | https://opengraph.githubassets.com/3fe8293200bff30d23c178d131b68ae5b7f8e2e3c57278e795789d50468a1f49/googleapis/java-pubsub/issues/2649 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/3fe8293200bff30d23c178d131b68ae5b7f8e2e3c57278e795789d50468a1f49/googleapis/java-pubsub/issues/2649 |
| og:image:alt | This is a polite proposal for my contribution to this repo. If approved by the team I can take the initiative and do this migration, also the parallel execution described below will greatly speed u... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | AbgarSim |
| hostname | github.com |
| expected-hostname | github.com |
| None | 42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b |
| turbo-cache-control | no-preview |
| go-import | github.com/googleapis/java-pubsub git https://github.com/googleapis/java-pubsub.git |
| octolytics-dimension-user_id | 16785467 |
| octolytics-dimension-user_login | googleapis |
| octolytics-dimension-repository_id | 203461480 |
| octolytics-dimension-repository_nwo | googleapis/java-pubsub |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 203461480 |
| octolytics-dimension-repository_network_root_nwo | googleapis/java-pubsub |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3b33c5aedc9808f45bc5fcf0b1e4404cf749dac7 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width