Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Paraunit Laravel Package

facile-it/paraunit

Run PHPUnit test suites faster by executing tests in parallel across multiple processes. Symfony-based CLI with Composer install, supports many PHPUnit/Symfony versions, and can collect code coverage in parallel (auto-picks best driver like PCOV/Xdebug).

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • CI/CD Pipeline Optimization: Accelerate test suite execution by reducing feedback loops in CI pipelines (e.g., GitHub Actions, GitLab CI), cutting build times by 50–80% for large test suites via parallel execution.
  • Build vs. Buy: Buy—avoids reinventing parallel test execution logic while leveraging PHPUnit’s ecosystem. Justification: Open-source, actively maintained (releases every 6–12 months), and integrates seamlessly with existing workflows.
  • Scalability for Growing Codebases: Enable parallel test execution for projects with >1,000 test files or suites running >5 minutes sequentially, improving developer productivity and CI reliability.
  • Coverage Reporting: Support parallel coverage collection (Pcov/Xdebug/PHPDbg) for accurate metrics in CI, aligning with engineering goals for code quality gates (e.g., 80%+ coverage).
  • Debugging & Diagnostics: Use --stop-on-* flags (e.g., --stop-on-failure) to fail fast in CI, reducing flaky test noise and improving mean-time-to-repair (MTTR).
  • Symfony/Laravel Compatibility: Ideal for monorepos or projects using Symfony/Laravel, where test parallelization is critical for maintaining velocity during refactoring or feature development.

When to Consider This Package

Adopt Paraunit if:

  • Your PHPUnit test suite runs >30 seconds sequentially and blocks CI/CD pipelines.
  • You need parallel coverage reporting (HTML, Cobertura, Clover) without sacrificing accuracy.
  • Your team uses PHP 7.4–8.4 and PHPUnit 10–13, with Symfony 4–8 or Laravel (via PHPUnit).
  • You want fine-grained control over test execution (e.g., randomize test order, exclude suites, chunk tests).
  • Your CI environment supports multi-process execution (e.g., GitHub Actions, self-hosted runners with ext-pcntl or ext-posix).

Look elsewhere if:

  • Your tests rely on global state (e.g., singletons, static variables) that breaks parallelism.
  • You use PHPUnit <10 or PHP <7.4 (unsupported).
  • Your CI lacks multi-process capabilities (e.g., constrained Docker containers).
  • You need deterministic test ordering (use --sort=natural or disable parallelism).
  • Your team prefers custom test runners (e.g., PestPHP’s built-in parallelism).

How to Pitch It (Stakeholders)

For Executives: "Paraunit cuts our CI feedback loop from 10 minutes to 2 minutes for large test suites by running PHPUnit tests in parallel—without rewriting a line of code. This directly impacts developer velocity, reduces context-switching costs, and enables faster releases. It’s a zero-risk, open-source solution with enterprise-grade support (Symfony/Laravel ecosystems). For a team running 5,000+ tests, this could save ~200 hours/month in CI wait time."

For Engineering: *"Paraunit replaces sequential phpunit with a drop-in parallel runner that:

  • Speeds up tests via multi-process execution (uses Pcov/Xdebug for coverage).
  • Respects PHPUnit config (e.g., --stop-on-failure, coverage formats).
  • Works out-of-the-box with Laravel/Symfony—just composer require facile-it/paraunit and replace phpunit with vendor/bin/paraunit.
  • Debug-friendly: Full process output in debug mode, no flaky test masking. Example: Replace phpunit in CI with:
- vendor/bin/paraunit run --cobertura=./coverage --stop-on-failure
```*
**No code changes needed.**"*

**For QA/DevOps:**
*"Paraunit integrates with existing CI tools (GitLab, GitHub) and:
- **Reduces CI costs** by cutting test time (e.g., 8-minute suite → 1.5 minutes).
- **Supports coverage** in parallel (Cobertura for GitLab, HTML for dashboards).
- **Fails fast** with `--stop-on-*` flags to catch regressions early.
*Use case*: Add to your `phpunit.xml`:
```xml
<extensions>
    <bootstrap>vendor/autoload.php</bootstrap>
</extensions>

Then run paraunit coverage --html=build/coverage in CI."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai