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

Pest Plugin Mutate Laravel Package

pestphp/pest-plugin-mutate

Pest Plugin Mutate brings mutation testing to Pest, helping you gauge test suite effectiveness by introducing small code changes and checking whether tests catch them. Ideal for strengthening coverage and confidence in your PHP applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: Pest is a modern testing framework for PHP, designed to integrate seamlessly with Laravel. This plugin extends Pest's capabilities for mutation testing, making it suitable for Laravel projects already using Pest (common in Laravel 9+). However, projects using PHPUnit would require migration to Pest first, adding complexity.

Integration feasibility: Installation via Composer is trivial (composer require pestphp/pest-plugin-mutate --dev). The plugin only activates when explicitly triggered (e.g., --mutate flag or mutate() function), minimizing immediate risk. Beta status (per roadmap) introduces potential breaking changes before stable release.

Technical risk: High due to beta maturity (0 dependents, low score 22.25). Performance concerns for large codebases (mutation testing is resource-intensive), unconfirmed compatibility with Laravel-specific patterns (e.g., facades, service container), and potential instability in mutation handling. Limited community adoption increases risk of unresolved issues.

Key questions:

  • What is the concrete timeline and stability guarantee for the stable release (currently planned for Laracon US end-August 2024)?
  • How does the plugin handle Laravel's dynamic class resolution (e.g., facade aliases) during mutation?
  • Are there known conflicts with Laravel's test helpers (e.g., DatabaseTransactions, RefreshDatabase)?
  • What is the maintainers' commitment to backward compatibility during beta?

Integration Approach

Stack fit: Ideal for Laravel 9+ projects using Pest as the primary test runner.

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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport