laravel - 如何创建带有用于测试的图像的工厂
问题描述
我需要创建一个为测试创建图像的工厂。工厂应创建图像并将其保存在存储设备中,测试后应擦除所有内容。
我怎样才能做到这一点 ?
我现在想的是在工厂中将字段设置为null,然后使用该afterCreating
方法手动保存图像,但它必须是一种更好的方法来做到这一点吗?
我想要实现的是:
factory(Category::class)->create();
这将生成所有图像。
$faker->image 不再起作用,因为 LoremPixel (提供者)在大多数情况下确实很慢或很慢。
解决方案
您可以使用 $faker->image
.
这是一个例子
use Faker\Generator as Faker;
$factory->define(Product::class, function (Faker $faker) {
return [
'amount' => $faker->randomFloat(2, 0, 10000),
'image' => $faker->image('public/storage/images',640,480, null, false),
];
});
推荐阅读
- python - wxpython textctrl 样式动态文本颜色
- ansible - 无法理解来自 ansible parted 模块的错误
- javascript - Javascript 和 D3 错误:无法读取未定义的属性“云”
- jquery - 如何修复它 Django、Jquery、AJAX 和 JSON HTTP 500
- .net-core - 是否正在编译入口程序集的 MSBuild 条件
- python - python使用TextBlob将阿拉伯语翻译成英语
- django - 登录 Django 后如何设置整个会话的语言
- java - 在使用变量声明后如何返回实现代码
在日食? - python - 如何检查某些列表是否正好有两个值并且在某些范围内?
- r - 采用包含一些重叠列的两组的行方式 dplyr tidyverse