Laravel тестирование - dataProvider с файлами? - PullRequest
0 голосов
/ 20 апреля 2020

Я не знаю, как использовать dataProvider для laravel тестирования с полем файла:

public function requiredFormValidationProvider()
    {
        $faker = Faker::create('es_ES');
        $password = $faker->password;
        $avatar = File::create('avatar', 200);

        $fields = [
            ['avatar', $avatar],
            ['name', $faker->name()],
            ['company', $faker->company],
            ['company_role', 'Administrador'],
            ['phone_number_1', $faker->phoneNumber],
            ['phone_number_2', $faker->phoneNumber],
            ['country_code', self::COUNTRY_CODE],
            ['language', 'es'],
            ['old_password', self::PASSWORD],
            ['password', $password],
            ['password_confirmation', $password],
        ];

        return $fields;
    }

Поле " avatar " - это изображение или файл, но я есть ошибка:

1) Tests\Feature\Users\ProfileTest::testProfileEdit with data set #0 ('avatar', Illuminate\Http\Testing\File Object (...))
Session has unexpected error: avatar
Failed asserting that true is false.

1 Ответ

0 голосов
/ 20 апреля 2020

Хорошо, исправлено! Проблема была в методе File :: create . Должно быть:

$avatar = UploadedFile::fake()->image('avatar.jpg');
...