老闆竟然讓我在Java項目中「造假」

1. 前言

老闆說,明天甲方要來看產品,你得造點數據,並且數據必須是「真」的,演示效果要好看一些,這樣他纔會買咱們的產品,我好明年給你換個嫂子。通常開發接到這種過度要求都不會很樂意去作,這徹底是體力勞動,並且很棘手。今天胖哥教你一招,讓你作出逼真的「假」數據。java

2. javafaker

咱們Java是有能夠生成仿真數據的框架的,這裏我安利一個Javafaker的框架,你只須要在項目中引入:git

<dependency>
            <groupId>com.github.javafaker</groupId>
            <artifactId>javafaker</artifactId>
            <version>1.0.2</version>
        </dependency>
忘記說了它主要的使用場景就是爲了製造仿真測試數據,而並非用來造假。

而後胖哥來演示一下它的用法,先定義一個Java Bean :github

/**
 * 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);

}

咱們來看下結果:spa

image

是否是看上去跟真的同樣,可是必定要用到正途,不要用到歪門邪道上。code

3. 總結

用了javafaker以後咱們不但能夠完成老闆提出的需求,並且能夠減小咱們日常使用測試的時候用各類test填充的局面。好了今天的分享就到這裏。我是 碼農小胖哥,多多關注,分享更多有用的編程乾貨。xml

關注公衆號:Felordcn 獲取更多資訊對象

我的博客:https://felord.cn

相關文章
相關標籤/搜索