Weave 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

Phpunit Tia Laravel Package

jasonmccreary/phpunit-tia

phpunit-tia brings Test Impact Analysis to PHPUnit: it tracks which tests cover which code, then runs only the tests affected by your uncommitted changes. Skip the full suite, get faster feedback, and keep confidence in your changes.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • CI/CD investment sizing: Test Impact Analysis (TIA) changes the economics of the pipeline. Every release in this series makes the "affected test files" story more legible (#25 summarizes affected files on every run; #26 indexes tests by source for testsLinkedTo()), which lets a PM argue for TIA adoption with measurable evidence — wall-clock savings, tests skipped, confidence intervals — rather than vibes.
  • Build vs. buy on test selection: The #24 "explicit edges and integration API" plus #27 "expose every known test file on the Edges contract" turn this from a black-box speed hack into a programmable dependency graph. That is the deciding input for build-vs-buy: if you need custom edge definitions (non-PHPUnit suites, generated code, config-driven coupling), buy and extend the API; if your graph is trivial, don't.
  • Parallelization roadmap: #28 fixes graph recording under ParaTest. A PM can now sequence "enable TIA" and "shard the suite" as independent roadmap items instead of a forced bundle — sharding no longer blocks or corrupts the impact graph.
  • Trust and safety posture: #22 (configured group selection counts as a full run) and #21 (never replay without a recorded baseline) are conservative-correctness defaults. These are the two failure modes that make teams abandon TIA after one escaped defect, so they are releasable risk-reduction work, not polish.
  • Rollout gating: Because a missing baseline now forces a full run, the PM can approve a phased rollout (observe-only → gate on PRs → gate on main) without demanding a bespoke fallback harness from engineering.

When to Consider This Package

Adopt when:

  • Your PHPUnit suite has grown past the point where developers wait on it, and the pain is feedback latency, not flakiness or isolation.
  • You run ParaTest or plan to — v0.5.0 makes graph recording viable in parallel CI, which is where most of the ROI lives.
  • You want test selection as a contract other tooling can consume (Edges contract, testsLinkedTo()), e.g. dashboards, PR annotations, or a custom CI reporter.
  • You are on a Laravel/PHP codebase with conventional test-to-source conventions — impact analysis is cheap when the mapping is discoverable and expensive when it isn't.
  • You need defensible correctness behavior: full-run fallbacks on ambiguous configuration and no baseline-less replays are the guardrails that make this shippable to a risk-averse org.

Look elsewhere when:

  • Your bottleneck is test flakiness, ordering, or shared state — TIA reduces which tests run, it does not fix unstable ones, and selective execution can mask order-dependence.
  • You depend on dynamic or reflective source→test coupling that doesn't show up in the graph; false negatives are silent and expensive.
  • You have no reliable baseline artifact storage across CI runs — v0.5.0 will correctly refuse to replay, so you get full runs and none of the benefit until that's solved.
  • You are pre-1.0-averse. This is 0.5.x; the integration API (#24) in particular is young and may shift.

How to Pitch It (Stakeholders)

To executives: This is a CI time-and-cost lever. A PHPUnit test impact analysis tool that only runs tests affected by a change, with conservative fallbacks — if it can't prove a shortcut is safe (no baseline, ambiguous group selection), it runs everything. v0.5.0 is the release that makes it usable in real parallel CI and reportable to leadership: every run now reports the affected test files, which gives us the before/after evidence to justify keeping it.

To engineering: v0.5.0 lands the integration surface we'd want before committing — an explicit edges contract, testsLinkedTo() backed by a source index, a per-run summary of affected files, and a ParaTest fix. The two behavioral changes worth knowing are safety defaults, not restrictions: configured group selection is treated as a full run, and the package refuses to replay without a recorded baseline. Both trade a little speed for eliminating the silent-skip failure mode. Still 0.x, so treat Edges as an interface we build against but may need to adjust.

Ask: Timebox a 2–4 week pilot — observe-only mode on CI, baseline artifact storage sorted, and one dashboard consuming the affected-files summary. Success criteria: measured reduction in executed tests on PRs, zero escaped defects attributable to skipped tests, and a stable baseline across ParaTest shards.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings