我这样写测试
$response = $this->actingAs(\App\Models\User::first())
->post(route('profile-menu.update', $profile), [
'image' => UploadedFile::fake()->image('avatar.jpg', 900, 500)->size(100),
'profile' => [
'en' => [
'title' => 'test',
'description' => 'test'
],
'id' => [
'title' => 'test',
'description' => 'test'
]
]
]);
print_r($response->decodeResponseJson());
$response->assertStatus(302);
并且我将需求导入我的控制器顶部
namespace App\Http\Controllers\Admin;
use File;
use Image;
use Storage;
我已经注册了干预服务提供商并为其编写别名。
测试结果是
1) Tests\Feature\MyTest::testUpdateProfileDetail
Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method Image::make()
/opt/atlassian/pipelines/agent/build/app/Http/Controllers/Admin/ProfileMenuController.php:72
我无法弄清楚phpunit无法识别Image :: make(),我的脚本是否存在问题,或者它是否存在管道服务中的错误?
答案 0 :(得分:0)
我在使用虚拟主机设置的Ubuntu 18.0.4上使用Laravel 5.7时遇到了相同的问题,请键入提示“使用Intervention \ Image \ Facades \ Image”,而不是“使用Intervention \ Image \ Image”