ergebnis/data-provider
Generic PHPUnit data providers for booleans, floats, integers, nulls, objects, resources, strings, and UUIDs, so you can reuse consistent test data instead of rewriting provider methods in every test suite.
composer require --dev ergebnis/data-provider.DataProvider::fromArray() or fromIterable(), passing a typed array of fixtures (e.g., #[DataProvider\Name('valid user')] ['id' => 1, 'name' => 'Alice']).#[DataProvider\Name('valid user')] or use @dataProvider to consume named datasets—ideally by importing providers via use and referencing them directly (e.g., MyTest::dataProvider()).@dataProvider arrays in multiple tests with a single reusable provider file (e.g., src/Test/DataProvider/UserProvider.php), exporting clean, typed fixtures.UserProvider with valid/invalid users, extended by UserWithPermissionsProvider adding role mappings.fromTraversable() for dynamic generation: Use generators or collections (e.g., from factories or DB fixtures) as inputs to avoid loading all data into memory.DataProvider::merge() or concat() to unify unrelated datasets (e.g., merge UserProvider + ProductProvider for integration tests).TestCase subclasses or traits that include default providers (e.g., getStandardUserProvider()), promoting consistency across test suites.array{foo: int, bar: string}), and use static analysis tools to validate provider data shapes.UserProvider::VALID_WITH_ADMIN) or namespaces in provider classes.iterable|array or use @phpstan-return for precision.--testdox and --verbose to trace which named provider triggered the failure.DataProviderInterface subclasses for advanced behaviors (e.g., random data generation via Faker, context-aware fixtures).DataProvider::toArray() to assert dataset contents—prevents regressions in test fixtures.How can I help you explore Laravel packages today?