【问题标题】:Is Faker name generation duplication possible?Faker 名称生成重复是否可能?
【发布时间】:2020-01-16 12:31:59
【问题描述】:

有人可以确认Faker name generation 可以创建重复名称或部分名称吗?

如果我创建两个用户,一个用户的名字是否可能与另一个用户的姓氏相同?我可以看到有identical names 用于男性的名字和姓氏以及女性的名字和姓氏。因此,我可以让第一个用户使用 Carter Cole,让第二个用户使用 Bailey Carter。

如果我创建两个用户,两个用户的名字和姓氏是否可能相同。比如 Daniel Fay 和 Daniel Fay?

【问题讨论】:

    标签: ruby-on-rails ruby faker


    【解决方案1】:

    我不是 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]

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 2010-11-14
      • 2017-02-18
      • 2017-08-25
      • 2021-12-20
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      相关资源
      最近更新 更多