Faker 名称生成重复可能吗?
Is Faker name generation duplication possible?
有人可以确认 Faker name generation 可以创建重名或部分名称吗?
如果我创建两个用户,是否有可能一个用户拥有与另一个用户的 last_name 相同的 first_name?我可以看到 identical names 用于男性名字和姓氏以及女性名字和姓氏。因此,例如,我可以让第一个用户使用 Carter Cole,第二个用户使用 Bailey Carter。
如果我创建两个用户,两个用户的名字和姓氏是否可能相同。比如 Daniel Fay 和 Daniel Fay?
我不是 100% 确定,但我想这种情况可能会发生。然而,faker 有避免这种情况的工具。你读过这个 paragraph 吗?
在您的方法调用前加上 unique
。例如:
Faker::Name.unique.name # This will return a unique name every time it is called
如果从具有有限数量潜在值的生成器请求太多唯一值,则可能会引发 Faker::UniqueGenerator::RetryLimitExceeded
异常。可以清除已返回的唯一值的记录,例如在测试之间。
Faker::Name.unique.clear # Clears used values for Faker::Name
Faker::UniqueGenerator.clear # Clears used values for all generators
如果您与生成的数据发生冲突(即使用具有随机和手动设置值的 FactoryBot),您还可以将一些已经使用的值提供给唯一生成器。
用法:
Faker::<generator>.unique.exclude(method, arguments, list)
将 'azerty'
和 'wxcvbn'
添加到 6 个字符长度的字符串生成器
Faker::Lorem.unique.exclude :string, [6], %w[azerty wxcvbn]
有人可以确认 Faker name generation 可以创建重名或部分名称吗?
如果我创建两个用户,是否有可能一个用户拥有与另一个用户的 last_name 相同的 first_name?我可以看到 identical names 用于男性名字和姓氏以及女性名字和姓氏。因此,例如,我可以让第一个用户使用 Carter Cole,第二个用户使用 Bailey Carter。
如果我创建两个用户,两个用户的名字和姓氏是否可能相同。比如 Daniel Fay 和 Daniel Fay?
我不是 100% 确定,但我想这种情况可能会发生。然而,faker 有避免这种情况的工具。你读过这个 paragraph 吗?
在您的方法调用前加上 unique
。例如:
Faker::Name.unique.name # This will return a unique name every time it is called
如果从具有有限数量潜在值的生成器请求太多唯一值,则可能会引发 Faker::UniqueGenerator::RetryLimitExceeded
异常。可以清除已返回的唯一值的记录,例如在测试之间。
Faker::Name.unique.clear # Clears used values for Faker::Name
Faker::UniqueGenerator.clear # Clears used values for all generators
如果您与生成的数据发生冲突(即使用具有随机和手动设置值的 FactoryBot),您还可以将一些已经使用的值提供给唯一生成器。
用法:
Faker::<generator>.unique.exclude(method, arguments, list)
将 'azerty'
和 'wxcvbn'
添加到 6 个字符长度的字符串生成器
Faker::Lorem.unique.exclude :string, [6], %w[azerty wxcvbn]