Separate data provider from test case class

Viewed 2238

I want to use PHPUnit to test my PHP class.

Is it possible to put data providers for my test methods in a separate file created only for storing dataproviders? If so how to do that?

Another question is whether it's a good practice or perhaps it's better to keep test and data provider methods in the same test class.

2 Answers

In Laravel 5.7, I've used:

From Tests:

@dataProvider \App\Tests\DataProviders\ClassNameDataProvider::dataMethodName()

From ClassNameDataProvider:

public static function dataMethodName(): array
    {
        return [
            [
                'input',
                'output',
            ],
         ]
     }
Related