testo/filter
Testo filtering plugin that selects which tests run by name patterns, file paths, suites, types, and dataset pointers. Powers Testo CLI flags: --filter, --path, --suite, and --type.
--filter, --path) to reduce CI runtime by targeting specific test suites (e.g., integration vs. unit) or recently modified tests, directly addressing slow feedback loops in Laravel’s test suite.--suite "Auth" or --type "feature") without manual grep or custom scripts, aligning with Laravel’s focus on rapid iteration.TestCase extensions) by leveraging a batteries-included solution, though integration effort is high.--suite for distributed execution (e.g., GitHub Actions matrix).--path "tests/Feature/User").--dataset "users:premium") for data-driven Laravel apps.Adopt if:
artisan testo:run --filter=PaymentTest) over IDE integrations.Look elsewhere if:
--filter or plugins like phpunit-filter).--filter "TestClass"), and Laravel’s phpunit.xml or Pest’s --filter suffice."This package lets our Laravel team run only the tests they need, cutting CI runtime by up to 70% for large suites. For example, instead of waiting 15 minutes for a full test run, a developer can execute just the AuthTest suite in 2 minutes using --suite Auth. In CI, we could split tests across parallel jobs to reduce costs by 50% while maintaining coverage. It’s a low-code way to accelerate releases without rewriting our test infrastructure—ideal if we’re already using Testo or evaluating it for performance.
Ask: "Would you prioritize reducing test suite runtime as a way to speed up deployments?"
*"testo/filter provides native test filtering for Testo via CLI flags (--filter, --path, --suite), matching PHPUnit’s capabilities but with potential for dataset-level precision. Key benefits for Laravel:
grep-based filtering or custom scripts.Tradeoffs:
TestCase::filter()).Proposal: Pilot in CI for a critical workflow (e.g., nightly regression tests) to measure runtime savings. If successful, we could extend it to parallel test execution by suite.*
Ask: "Does this address a pain point in your current test filtering workflow, or should we explore PHPUnit/Pest alternatives first?"
*"This package is a niche fit for Laravel projects. While it offers powerful filtering, integrating Testo into Laravel’s stack requires:
vendor/bin) to avoid conflicts with PHPUnit/Pest.assertDatabaseHas).Recommendation:
composer scripts.Key Question: Is Testo a strategic direction for our testing stack, or should we treat this as a tactical experiment?"
*"If you’re comfortable with Testo’s CLI and want to speed up test runs, this package lets you filter tests by:
--filter "LoginTest"--path "tests/Feature"--suite "Auth"--type "unit"--dataset "users:premium"How to try it:
composer require --dev testo/filter
vendor/bin/testo run --filter=UserTest
Note: This won’t work out-of-the-box with Laravel’s phpunit—you’ll need a custom Artisan command to wrap it.
Ask: Would you use this for debugging or CI optimization, or is PHPUnit/Pest’s filtering good enough?"*
How can I help you explore Laravel packages today?