Здравствуйте, стек такой
- PHP 8.2
- Laravel 10
- PEST 2
Пишу такой тест:
test('create new user', function () {
Storage::fake('avatars');
$image = UploadedFile::fake()->image('avatar.png');
expect(1)->toBe(1);
});
Запускаю его, а мне в ответ:
Test code or tested code did not (only) close its own output buffers
те он до
expect(1)->toBe(1);
даже не доходит.
Поковырялся в ларе, такой метод нашел в
/vendor/laravel/framework/src/Illuminate/Http/Testing/FileFactory.php
, он у меня как раз и запускается:
protected function generateImage($width, $height, $extension)
{
return tap(tmpfile(), function ($temp) use ($width, $height, $extension) {
ob_start();
$extension = in_array($extension, ['jpeg', 'png', 'gif', 'webp', 'wbmp', 'bmp'])
? strtolower($extension)
: 'jpeg';
$image = imagecreatetruecolor($width, $height);
call_user_func("image{$extension}", $image);
fwrite($temp, ob_get_clean());
});
}
Но, как я вижу, там ob_get_clean есть и буфер должен быть закрыт, но что же не так, нагуглил про разные уровни "буферизации", возможно идет конфликт с phpunit в этом плане, но пока не могу разобраться.