faker 相关问题

某些编程语言或框架(即Ruby或Yii2)中使用的扩展或库,用于生成用于调试和测试的虚假数据。

Laravel faker 根据名字生成性别

使用 faker 生成性别的最佳方式是什么,生成一个名称以使性别与名称匹配 返回 [ 'name' => $faker->name, '电子邮件' => $faker->安全...

回答 5 投票 0

如何在Faker中获取未来日期

我如何通过以下方式获得未来的日期: https://github.com/fzaninotto/Faker#fakerproviderdatetime 日期时间($max = '现在') 即未来日期时间的 $max 值应该是多少

回答 5 投票 0

如何用java faker创建一个连贯的对象

我正在尝试使用java faker创建一个对象用户,并且变量不一致(如果我创建用户名可能是bob,用户名可能是jhon.smith) 这是我的代码,创建...

回答 3 投票 0

Laravel - 播种多对多关系

我有一个用户表和一个具有多对多关系的角色表。这两个表连接到一个名为 role_user 的联结表。 这是表格及其连接的模型。 ...

回答 6 投票 0

Laravel Faker 未知格式化程序

我已经尝试了一切可能的方法,但我无法弄清楚我做错了什么。我正在尝试使用虚拟数据加载数据库,但我不断收到未知的格式化程序“描述”。描述...

回答 6 投票 0

将Python脚本翻译成用户定义的函数

我有一大块Python脚本,我需要对其进行功能化以使我能够自动执行任务。 下面的脚本旨在使用 faker 库生成一个列,但因为我有很多分类

回答 1 投票 0

使用同一对象生成用于测试的随机数据

我有一个普通对象,其中我使用伪造者生成随机值: 常积 = { id: faker.random.numeric(6), 注意:faker.random.word(), }; 我有两个测试

回答 2 投票 0

如果我在表/模型中有 3 个字段但需要超过 1 个项目,如何防止唯一错误? (工厂)

我在 3 个字段上有一个唯一索引: 公共函数 up(): void { Schema::create('items', function (Blueprint $table) { $表->id(); $table->foreignId('points_id'); $

回答 2 投票 0

不使用 for 循环生成具有随机数据的数组

我正在使用 faker.js 库生成随机数据,我有几个工厂函数可以生成一系列用户数据: const createUser = () => { 返回 { 姓名:faker.name.

回答 5 投票 0

为什么 spatie/laravel-medialibrary 在上传使用 faker-images 上传的图片时会引发错误?

我将 https://github.com/morawskim/faker-images 添加到 laravel 9 站点,当我尝试从这个库中获取图像时 并使用 Medialibrary 上传 $faker = \Faker\Factory::create(); $faker->addProvi...

回答 1 投票 0

Cypress Faker 日期格式

我使用 Faker 模块来生成假的未来日期。我想有一个接近未来的随机日期。 //生成日期 const dateOfTravel = faker.date.between('now', '2024/05/05').toLocaleDateString()...

回答 2 投票 0

在 factory boy 中使用 Faker 清除独特的缓存

我正在使用 Faker from inside factory boy,我们得到了使我们的测试失败的重复值。 Faker 具有生成唯一值的能力,但它的值数量有限...

回答 0 投票 0

根据 graphql 类型或字段名称生成有意义的假数据

是否有任何开源库可以用来为内部测试生成有意义的假数据? 例如给定架构, 输入演员{ 名字:字符串 地址:字符串 blogUrl:圣...

回答 0 投票 0

laravel中插入千条记录时使用faker

我有一个关于 laravel faker 的问题,我正在寻找一个使用 seeders 插入数千条记录的教程 这是我的 PostSeeder.php: 我有一个关于 laravel faker 的问题,我正在寻找一个使用 seeders 插入数千条记录的教程 这是我的 PostSeeder.php: <?php namespace Database\Seeders; use Illuminate\Database\Seeder; use App\Models\Post; use App\Models\User; class PostSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { Post::factory(10)->create(); } } 这里我是插入10个帖子,但是我需要测试几千或者几百万条记录,所以我看到了一个教程并修改了seeder <?php namespace Database\Seeders; use Illuminate\Database\Seeder; use App\Models\Post; use App\Models\User; use Illuminate\Support\Str; class PostSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $users= collect(User::all()->modelKeys()); $data = []; for ($i = 0; $i < 100000; $i++) { $data[] = [ 'body' => Str::random(50), 'image' => 'https://via.placeholder.com/640x480.png/0077dd?text=inventore', 'user_id' => $users->random(), 'created_at' => now()->toDateTimeString(), 'updated_at' => now()->toDateTimeString(), ]; } $chunks = array_chunk($data, 10000); foreach ($chunks as $chunk) { Post::insert($chunk); } } } 通过这种方法,我可以更快地插入数千条记录,但问题是我没有正确插入 body 和 image 字段 我想用 faker 尝试一些东西,在我的工厂里我有这个: PostFactory.php <?php namespace Database\Factories; use App\Models\Post; use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; class PostFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ protected $model = Post::class; /** * Define the model's default state. * * @return array */ public function definition() { return [ 'body' => $this->faker->text, 'image' => $this->faker->imageUrl(), 'user_id' => function() { return User::factory()->create()->id; } ]; } } 我想在 PostSeeder 中使用这些伪造方法,但我不能,我该怎么办?谢谢你。 编辑: 我试过这个: public function run(Faker $faker) { $users= collect(User::all()->modelKeys()); $data = []; for ($i = 0; $i < 50000; $i++) { $data[] = [ 'content' => $faker->text, 'image_path' => $faker->imageUrl(), 'user_id' => $users->random(), 'created_at' => now()->toDateTimeString(), 'updated_at' => now()->toDateTimeString(), ]; } $chunks = array_chunk($data, 5000); foreach ($chunks as $chunk) { Post::insert($chunk); } } 我收到了这条消息: PDOException::("SQLSTATE[HY000]: 一般错误: 2006 MySQL 服务器已经消失") 但是当我尝试使用更少的记录时它起作用了,所以,我像这样更改了播种机: $users= collect(User::all()->modelKeys()); $posts = Post::factory(10)->create(); $posts = collect($posts->only(['content','image_path'])); ... ... 'content' => $posts->random()->content, 'image_path' => $posts->random()->image_path ... 这不起作用,它出现了这个错误: 您申请了 1 件商品,但只有 0 件商品可用。 看起来 $posts->only(['content','image_path']) 不能正常工作。所以我试过这个: Post::factory(10)->create(); $tweets = Tweet::select(['content','image_path'])->get(); ... 'content' => $posts->random()->content, 'image_path' => $posts->random()->image_path ... 它再次适用于一些记录,但是当我尝试使用数千条记录时,我再次收到此错误: PDOException::("SQLSTATE[HY000]: General error: 2006 MySQL server has gone away") 我能做什么?谢谢 由于模型工厂创建内存中的对象,由于内存使用量大,因此不适合大种子。 但是你可以使用Faker来生成数据: use Faker\Generator as Faker; class PostSeeder extends Seeder { public function run(Faker $faker) { $users= collect(User::all()->modelKeys()); $data = []; for ($i = 0; $i < 100000; $i++) { $data[] = [ 'body' => $faker->text, 'image' => $faker->imageUrl(), 'user_id' => $users->random(), 'created_at' => now()->toDateTimeString(), 'updated_at' => now()->toDateTimeString(), ]; } $chunks = array_chunk($data, 10000); foreach ($chunks as $chunk) { Post::insert($chunk); } } } 我个人会做这样的事情: public function run() { $videos = factory(Video::class, 10000)->make(); $chunks = $videos->chunk(2000); $chunks->each(function ($chunk) { Video::insert($chunk->toArray()); }); } 通常 快得多,不管 faker 的用法如何

回答 2 投票 0

如何将数组参数从播种器传递到工厂?

在 laravel 9 应用程序中,我需要使用带有经常重复 url 的工厂创建虚拟数据,以便在组中使用。所以在播种机中我有: { /** * 运行数据库种子。 * * @return 无效 ...

回答 2 投票 0

在 Cypress 12.5.1 中使用 Faker 7.6.0 时出现 webpack 编译错误

尝试使用faker进行随机数据生成。 在支持下 > 添加了 e2e.js cy.faker = require('faker'); 在规格文件“TestRandomData.cy.js”中 从“faker-js/faker&q...导入{faker}...

回答 0 投票 0

为什么我的 FactoryBots 没有创建 ID 或时间戳?

定义抽认卡机器人 FactoryBot.define 做 工厂:抽认卡做 问题 { Faker::Quote.matz } 时间 { Faker::Number.between(from: 1, to: 300) } 协会:框 ...

回答 1 投票 0

在 laravel 中植入假图像

我正在尝试生成一个假图像来填充播种器数据。 我用这个创建了一个播种机: $this->faker->image(storage_path('app/public/products'), 500, 500) 当我尝试通过

回答 2 投票 0

工厂试图创建两个具有相同属性的对象。

我正在为一个实现用户CRUD的express应用编写测试,在编写集成测试之前,我做了一个工厂来为测试创建用户: factories.js import faker from 'faker'; ... 在编写集成测试之前,我做了一个工厂来为测试创建用户: factories.js import faker from 'faker'; ...

回答 1 投票 0

我不知道为什么我的耙子种子文件没有运行

下面是我的种子文件: require 'pry' require 'rest-client' require 'json' require 'faker' Consumer.delete_all AlcoholicBeverage.delete_all Intake.delete_all 100.times do name = Faker::Name......。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.