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

Filter Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Documentation Support on Boosty

[!IMPORTANT]

🪞 This is a read-only mirror.

Active development of the Testo project lives in php-testo/testo under plugin/filter/. This repository is automatically synchronized from there on every release.

File issues and pull requests in the main monorepo, not here.

About

Selects which tests run on a given invocation by name patterns, paths, suites, types, dataset pointers, and groups. Powers Testo's --filter, --path, --suite, --type, and --group CLI flags.

Groups

Label tests with the #[Group] attribute and select them with --group:

use Testo\Filter\Group;
use Testo\Test;

#[Test]
#[Group('integration')]      // every test of this class inherits "integration"
final class OrderTest
{
    #[Group('slow')]         // groups: integration, slow
    public function importsLargeDataset(): void { /* ... */ }

    public function createsOrder(): void { /* ... */ } // groups: integration
}

The attribute targets classes, methods, and functions and accepts several names at once (#[Group('db', 'slow')]). A test's group set is the union of all groups reachable from it: its own method (and any overridden parent method), the test class, its parent classes, and traits.

# Run only tests in the "db" or "integration" group (OR logic)
./vendor/bin/testo run --group=db --group=integration

# Exclude a group with the "!" prefix (run everything except "slow")
./vendor/bin/testo run --group=!slow

# Combine with other filters (AND between filter types)
./vendor/bin/testo run --group=db --filter=OrderTest

Exclusion (!) takes precedence over inclusion. Group filters combine with name/path/suite/type filters using AND logic.

Install

composer require --dev testo/filter

PHP Latest Version on Packagist License Total Downloads

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.
bugban/symfony
beyonder-capi/workflow-extensions-bundle
beyonder-capi/job-queue-bundle
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin