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 獲取更多資訊