乐趣区

关于java:老板居然让我在Java项目中造假

1. 前言

老板说,今天甲方要来看产品,你得造点数据,而且数据必须是“真”的,演示成果要好看一些,这样他才会买咱们的产品,我好明年给你换个嫂子。个别开发接到这种过分要求都不会很乐意去做,这齐全是体力劳动,而且很辣手。明天胖哥教你一招,让你做出真切的“假”数据。

2. javafaker

咱们 Java 是有能够生成仿真数据的框架的,这里我安利一个 Javafaker 的框架,你只须要在我的项目中引入:

        <dependency>
            <groupId>com.github.javafaker</groupId>
            <artifactId>javafaker</artifactId>
            <version>1.0.2</version>
        </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 fakerWithUS = 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);

}

咱们来看下后果:

是不是看上去跟真的一样,然而肯定要用到正途,不要用到旁门左道上。

3. 总结

用了 javafaker 之后咱们岂但能够实现老板提出的需要,而且能够缩小咱们平时应用测试的时候用各种 test 填充的场面。好了明天的分享就到这里。我是 码农小胖哥,多多关注,分享更多有用的编程干货。

关注公众号:Felordcn 获取更多资讯

集体博客:https://felord.cn

退出移动版