老板居然让我用Java造假数据

公众号程序猿DD

共 952字,需浏览 2分钟

 · 2020-12-30



1. 前言

老板说,明天甲方要来看产品,你得搞点数据,而且数据必须是“真”的,演示效果要好看一些,这样甲方才会采购咱们的产品。一般开发接到这种过分要求都不会很乐意去做,这完全是体力劳动了,而且很棘手。今天胖哥教你一招,让你做出逼真的“假”数据。

2. javafaker

这张图大家都很熟悉吧。我们Java也能搞Fake,它就是Javafaker,专门用来制作仿真数据。你只需要在项目中引入:

        <dependency>
            <groupId>com.github.javafakergroupId>
            <artifactId>javafakerartifactId>
            <version>1.0.2version>
        dependency>

忘记说了它主要的使用场景就是为了制造仿真测试数据,而并不是用来造假。

然后胖哥来演示一下它的用法,先定义一个 Java Bean :

/**
 * User info.
 *
 * @author felord.cn
 * @since 10 :50
 */

@Data
public class UserInfo {
  /**
   * 真实姓名
   */

  private String realName;
  /**
   * 手机
   */

  private String cellPhone;
  /**
   * 大学
   */

  private String universityName;
  /**
   * 城市
   */

  private String city;
  /**
   * 地址
   */

  private String street;
}

然后声明一个Faker对象,你可以根据需要进行本地化声明,如果是使用中国的:

        Faker fakerWithCN = new Faker(Locale.CHINA);

你要是想造点美帝的数据就改成这样:

        Faker fakerWithCN = new Faker(Locale.US);

这里我们使用中国来生成模拟 10 条仿真数据:

for (int i = 0; i < 10; i++) {

    UserInfo userInfo = new UserInfo();

    userInfo.setRealName(fakerWithCN.name().fullName());
    userInfo.setCellPhone(fakerWithCN.phoneNumber().cellPhone());
    userInfo.setCity(fakerWithCN.address().city());
    userInfo.setStreet(fakerWithCN.address().streetAddress());
    userInfo.setUniversityName(fakerWithCN.university().name());
    System.out.println("userInfo = " + userInfo);

}

我们来看下结果:

javafaker生成的仿真数据

是不是看上去跟真的一样,但是一定要用到正途,不要用到歪门邪道上。

3. 总结

用了javafaker之后我们不但可以完成老板提出的需求,而且可以减少我们平常使用测试的时候用各种test填充的局面。好了今天的分享就到这里。我是 码农小胖哥,多多关注,获取更多有用的编程干货。


卧槽,QQ号也能改了!!!赶紧来改!宇宙唯一ID赶紧来抢注!

2020-12-28

美滋滋的开源数据库模型建模工具!

2020-12-28

这是我见过最简单粗暴的辞职书了

2020-12-28

想不想别人叫你爸爸?刚更新的微信红包,这玩法也太骚了吧

2020-12-27

如何使用 Arthas 定位 Spring Boot 接口超时

2020-12-27

刚弄好的中台!又要开始拆了?难道是为了凑工作量?

2020-12-26



推荐关注本文作者:码农小胖哥

分享高质量编程知识,探讨IT人生

技术干货,实战技巧,面试技巧,前沿资讯一个都不能少


深度交流

技术 + 社会

职场 + 创业


浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报