老板居然讓我用Java造假數(shù)據(jù)

1. 前言
老板說,明天甲方要來看產(chǎn)品,你得搞點(diǎn)數(shù)據(jù),而且數(shù)據(jù)必須是“真”的,演示效果要好看一些,這樣甲方才會采購咱們的產(chǎn)品。一般開發(fā)接到這種過分要求都不會很樂意去做,這完全是體力勞動了,而且很棘手。今天胖哥教你一招,讓你做出逼真的“假”數(shù)據(jù)。
2. javafaker

這張圖大家都很熟悉吧。我們Java也能搞Fake,它就是Javafaker,專門用來制作仿真數(shù)據(jù)。你只需要在項目中引入:
????????<dependency>
????????????<groupId>com.github.javafakergroupId>
????????????<artifactId>javafakerartifactId>
????????????<version>1.0.2version>
????????dependency>
忘記說了它主要的使用場景就是為了制造仿真測試數(shù)據(jù),而并不是用來造假。
然后胖哥來演示一下它的用法,先定義一個 Java Bean :
/**
?*?User?info.
?*
?*?@author?felord.cn
?*?@since?10?:50
?*/
@Data
public?class?UserInfo?{
??/**
???*?真實姓名
???*/
??private?String?realName;
??/**
???*?手機(jī)
???*/
??private?String?cellPhone;
??/**
???*?大學(xué)
???*/
??private?String?universityName;
??/**
???*?城市
???*/
??private?String?city;
??/**
???*?地址
???*/
??private?String?street;
}
然后聲明一個Faker對象,你可以根據(jù)需要進(jìn)行本地化聲明,如果是使用中國的:
????????Faker?fakerWithCN?=?new?Faker(Locale.CHINA);
你要是想造點(diǎn)美帝的數(shù)據(jù)就改成這樣:
????????Faker?fakerWithCN?=?new?Faker(Locale.US);
這里我們使用中國來生成模擬 10 條仿真數(shù)據(jù):
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);
}
我們來看下結(jié)果:
javafaker生成的仿真數(shù)據(jù)
是不是看上去跟真的一樣,但是一定要用到正途,不要用到歪門邪道上。
3. 總結(jié)
用了javafaker之后我們不但可以完成老板提出的需求,而且可以減少我們平常使用測試的時候用各種test填充的局面。好了今天的分享就到這里。我是?碼農(nóng)小胖哥,多多關(guān)注,獲取更多有用的編程干貨。
2020-12-28
2020-12-28
2020-12-28
2020-12-27
2020-12-27
2020-12-26
推薦關(guān)注本文作者:碼農(nóng)小胖哥
分享高質(zhì)量編程知識,探討IT人生

技術(shù)干貨,實戰(zhàn)技巧,面試技巧,前沿資訊一個都不能少
﹀
﹀
﹀
深度交流
技術(shù) + 社會
職場 + 創(chuàng)業(yè)

