Поставщик данных, указанный для TestsFeature BTest::TestB, недействителен. PHPUnitUtilException: Метод dataProviderForB не существует

#php #laravel #phpunit

#php #laravel #phpunit

Вопрос:

 /**
 * @dataProvider dataProviderForB
 */
public function testB($user, $department, $module)
{
    // ...
}
 

мой поставщик данных:

 public function dataProviderForB()
{
    return [
        [User::first(), Department::first(), Module::first()],
    ];
}

PS C:xampphtdocsw> .vendorbinphpunit
PHPUnit 8.5.8 by Sebastian Bergmann and contributors.

W..                                                                 3 / 3 (100%)

Time: 661 ms, Memory: 24.00 MB

There was 1 warning:
 

моя ошибка:

 1) Warning
The data provider specified for TestsFeatureBTest::testB is invalid.
PHPUnitUtilException: Method dataProviderForB does not exist

WARNINGS!
Tests: 3, Assertions: 2, Warnings: 1.
PS C:xampphtdocsw> .vendorbinphpunit
 

Ответ №1:

приложение () не генерируется в вашем тесте

вам нужно передать параметры вашей тестовой функции следующим образом:

 public function dataProviderForB()
{
    return [
        [1, 1, 1],
    ];
}
 

это устранит ошибку