首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用java faker创建一致的对象

如何使用java faker创建一致的对象
EN

Stack Overflow用户
提问于 2019-08-28 02:18:06
回答 2查看 2.4K关注 0票数 3

我正在尝试用java faker创建一个对象user,但变量并不连贯(如果我创建一个用户名,它可能是bob,而用户名可能是jhon.smith)

这是我的代码,它创建了一个假用户:

代码语言:javascript
复制
public static User userRandom() {

    User p = new User();
    Faker faker = new Faker(new Locale("ES"));

    int ramdomN = faker.number().numberBetween(0, 1);
    char sex;
    if (ramdomN == 0) {
        sex = 'M';
    } else {
        sex = 'F';
    }

    faker.name().fullName();
    p.setEmail(faker.name().username() + "@lucatinder.org");
    p.setAge(faker.number().numberBetween(18, 90));
    p.setGender(sex);
    p.setName(faker.name().fullName());
    p.setPassword(faker.lorem().characters(8, 16));

    return p;
}

我希望输出是:

代码语言:javascript
复制
email: Elisa@lucatinder.org,
Password: gki5ra4l2v,
name: Elisa Robledo Robledo,
age: 33,
Gender: F, (Female)

但实际输出是:

代码语言:javascript
复制
Email: Elisa@lucatinder.org,
Password: gki5ra4l2v,
name: Carlota Robledo Robledo,
age: 33,
Gender: M, (male)

这是错误的,因为在emailname中,我有不同的名字,Elisa是女性,但gender是男性

EN

回答 2

Stack Overflow用户

发布于 2019-08-28 02:46:27

代码的问题在于,每次调用faker.name().fullName()都会生成一个新名称。(此外,faker.name().username()与之前生成的任何全名都没有关系。)

您可以将您的代码更改为:

(假设每个fullName由至少两个部分组成,由空格分隔)

代码语言:javascript
复制
String fullName = faker.name().fullName();
String firstName = fullName.substring(fullName.indexOf(' '));

p.setEmail(firstName + "@lucatinder.org");
p.setAge(faker.number().numberBetween(18, 90));
p.setGender(sex);
p.setName(fullName);
p.setPassword(faker.lorem().characters(8, 16));

然而,这并不能解决你的gender问题,因为这似乎不是一个受支持的特性。

在github项目上检查这个相关的issue

无论你试图对生成的数据做什么,如果性别与姓名不匹配,(通常)应该不会有问题。

票数 2
EN

Stack Overflow用户

发布于 2019-08-28 02:51:59

根据Faker documentation的说法,每次调用.name()时,似乎都会得到一个不同的名称。

每次调用fake.name()方法都会产生不同的(随机)结果。这是因为faker将faker.Generator.method_name()调用转发给faker.Generator.format(method_name).

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57680255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档