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

Phpspec Skip Example Extension Laravel Package

akeneo/phpspec-skip-example-extension

A phpspec extension from Akeneo that lets you skip selected examples in your specs, so you can temporarily disable tests without deleting or commenting them out. Handy for work-in-progress specs and known failures during refactoring.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Test-suite hygiene as a product-quality lever. This extension lets engineers skip individual PhpSpec examples via an annotation instead of commenting out or deleting specs. That directly reduces merge noise and keeps CI signal clean — a small but real contributor to delivery predictability. Unchanged by v5.0.0.
  • Build vs. buy for internal tooling. It remains a ~single-purpose dev dependency (annotation parser for PhpSpec). The decision is not "do we adopt a platform" but "do we take a 50-line extension or write our own skip handling?" MIT licensing and negligible integration cost keep the buy side essentially free; the real cost is still maintenance risk, though that risk is now materially lower than the prior assessment assumed.
  • Framework-standardization roadmap input. Whether this belongs in the stack is still a proxy question for "is PhpSpec still our BDD tool of record?" PhpSpec is in maintenance mode and the broader PHP ecosystem has consolidated on PHPUnit/Pest (Laravel's default). v5.0.0 changes the nuance here: upstream now tracks PhpSpec 6.0/7.0, which means PhpSpec itself is still shipping releases and this extension is following them. That removes "the tooling is abandoned" as a supporting argument for migration, but it does not make PhpSpec a forward-looking bet. The migration case must now rest on ecosystem consolidation and hiring/tooling reality, not on dependency rot.
  • Version-pinning and upgrade-window planning. The 4.x → 5.0.0 major bump implies a compatibility break (almost certainly dropping older PhpSpec lines in favor of 6.0/7.0). For teams on legacy PhpSpec — notably Akeneo PIM codebases that historically pinned older versions — this is a decision point: stay on the 4.x line (now unmaintained) or upgrade PhpSpec itself. Budget this as a small, scheduled upgrade task rather than an incidental composer update.
  • Triage and flaky-test policy. A sanctioned, documented skip mechanism supports a formal quarantine policy for flaky or environment-dependent specs, rather than ad-hoc @group/comment hacks that rot. A maintained extension makes this policy safer to codify.
  • Legacy/Akeneo-ecosystem compatibility. Relevant if you operate inside or alongside Akeneo PIM codebases or other shops with established PhpSpec suites; low relevance for greenfield Laravel products. The renewed upstream activity is consistent with Akeneo (the originator) still using PhpSpec internally — a weak but real signal of continued relevance in that niche.
  • Not a customer-facing or revenue-affecting decision. Treat this as engineering enablement, not a product bet — no user story, no roadmap dependency, no competitive differentiation.

When to Consider This Package

Adopt when all of the following hold:

  • Your team uses PhpSpec as a primary or legacy BDD layer (not just PHPUnit/Pest).
  • You are on, or are upgrading to, PhpSpec 6.0 or 7.0 — the only versions v5.0.0 supports. Teams on older PhpSpec must pin a 4.x release, which is no longer the maintained branch.
  • You need a repeatable, annotation-driven skip for individual examples — for quarantining flaky specs, blocking on external dependencies, or parking examples mid-feature.
  • You accept low-frequency maintenance: v5.0.0 is a genuine compatibility release, which retires the "last release 2021 / effectively unmaintained" objection — but it is still a low-velocity, single-maintainer project with low adoption (33 stars, zero dependents). One release is a signal, not a track record; treat release cadence as reactive-to-PhpSpec rather than proactive.
  • The integration is trivial enough (dev-only Composer dependency) that removal cost is near zero.

Look elsewhere when:

  • You are on Laravel's default stack (PHPUnit/Pest) — native markTestSkipped(), ->skip(), and group filtering already cover this; adding PhpSpec tooling is dead weight.
  • You need formal vendor assurance — security response commitments, SLAs, or downstream validation. Zero dependents still means no one else is exercising these upgrade paths for you; compatibility releases land when the maintainer gets to them, not on your schedule.
  • You are planning a PhpSpec exit — investing in PhpSpec-specific extensions still prolongs a migration you have already decided to make. v5.0.0 makes the stay-put option slightly more comfortable, which is exactly the kind of comfort that delays a migration you've already justified.
  • You want skip behavior across multiple frameworks — a thin internal helper or PHPUnit-native approach is more durable than a single-framework extension.
  • You are pinned to PhpSpec ≤5 and cannot upgrade — the maintained branch no longer serves you.

Recommended posture: unchanged in kind, upgraded in confidence — dev dependency, adopt if PhpSpec is genuinely in your stack, pin the major version, and treat it as disposable. The trial-only/spike gate can be relaxed to a normal dev-dependency review now that upstream has demonstrated it tracks PhpSpec releases. Re-pull ecosystem metrics (stars, dependents, opportunity score) before finalizing, since none were supplied with this release.

How to Pitch It (Stakeholders)

To executives (30 seconds): This is a tiny, free, MIT-licensed developer tool that lets engineers temporarily disable individual tests with a one-line annotation instead of editing or deleting test code. It does not touch the product, customers, or revenue. The one thing that changed: the project shipped its first release in years, adding support for current PhpSpec versions — so the "is this abandoned?" concern is largely addressed. The only real decision remains whether our engineering stack still uses PhpSpec; if it does, this is a negligible-cost convenience. If we are moving to standard PHP testing tools, we skip it entirely.

To engineering: v5.0.0 adds support for PhpSpec 6.0 and 7.0 — a major version bump that almost certainly drops older PhpSpec lines, so check your PhpSpec version before upgrading (legacy/Akeneo suites will likely need to stay on 4.x, which is now the unmaintained branch). This is the first release since 2021 and it materially softens the previous "effectively unmaintained" verdict: upstream is tracking PhpSpec releases, which is the maintenance behavior that actually matters for a package this small. It does not change the strategic picture — PhpSpec is still in maintenance mode, zero dependents means no downstream validation, and release timing is reactive rather than on a support SLA. Recommendation: adopt if PhpSpec is genuinely in your stack, pinned to a major version, treated as disposable (one-line Composer removal). If you're on PHPUnit/Pest, use native ->skip() and ignore this entirely.

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.
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
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route