googleapis / googleapis/google-cloud-java

[java-bigquery] JUnit 5 migration and parallel Unit Test Execution

Đang mở
#12,142 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
api: bigquery priority: p3
Ngôn ngữ chính
Java
Star
2.1k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
154

Mô tả

## Is your feature request related to a problem? Please describe.
This 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.

## Describe the solution you’d like
Enable 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).

## Describe alternatives you’ve considered
- Parallelization at the build tool level only (e.g., Maven Surefire forks / Gradle parallel test workers) without migrating to JUnit 5.
- Splitting/sharding tests across multiple CI jobs.
- Keeping JUnit 4 and introducing a custom parallel runner (adds complexity and tends to be less maintainable than Jupiter’s native model).
- Leaving tests sequential and focusing only on test optimization (still doesn’t scale as the suite grows).

## Additional context
JUnit 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.