Java基于Javafaker生成測試數(shù)據(jù)
1. 前言
老板說,明天甲方要來看產(chǎn)品,你得造點(diǎn)數(shù)據(jù),而且數(shù)據(jù)必須是“真”的,演示效果要好看一些,這樣他才會(huì)買我們的產(chǎn)品,我好明年給你換個(gè)嫂子。一般開發(fā)接到這種過分要求都不會(huì)很樂意去做,這完全是體力勞動(dòng),而且很棘手。今天胖哥教你一招,讓你做出逼真的“假”數(shù)據(jù)。
2. javafaker
我們Java是有可以生成仿真數(shù)據(jù)的框架的,這里我安利一個(gè)Javafaker的框架,你只需要在項(xiàng)目中引入:
<dependency> <groupId>com.github.javafaker</groupId> <artifactId>javafaker</artifactId> <version>1.0.2</version> </dependency>
忘記說了它主要的使用場景就是為了制造仿真測試數(shù)據(jù),而并不是用來造假。
然后胖哥來演示一下它的用法,先定義一個(gè)Java Bean :
/** * User info. * * @author felord.cn * @since 10 :50 */ @Data public class UserInfo { /** * 真實(shí)姓名 */ private String realName; /** * 手機(jī) */ private String cellPhone; /** * 大學(xué) */ private String universityName; /** * 城市 */ private String city; /** * 地址 */ private String street; }
然后聲明一個(gè)Faker對(duì)象,你可以根據(jù)需要進(jìn)行本地化聲明,如果是使用中國的:
Faker fakerWithCN = new Faker(Locale.CHINA);
你要是想造點(diǎn)美帝的數(shù)據(jù)就改成這樣:
Faker fakerWithUS = 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é)果:
是不是看上去跟真的一樣,但是一定要用到正途,不要用到歪門邪道上。
3. 總結(jié)
用了javafaker之后我們不但可以完成老板提出的需求,而且可以減少我們平常使用測試的時(shí)候用各種test填充的局面。好了今天的分享就到這里。我是 碼農(nóng)小胖哥,多多關(guān)注,分享更多有用的編程干貨。
以上就是Java基于Javafaker生成測試數(shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于Javafaker生成測試數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java經(jīng)典面試題匯總:網(wǎng)絡(luò)編程
本篇總結(jié)的是Java 網(wǎng)絡(luò)編程相關(guān)的面試題,后續(xù)會(huì)持續(xù)更新,希望我的分享可以幫助到正在備戰(zhàn)面試的實(shí)習(xí)生或者已經(jīng)工作的同行,如果發(fā)現(xiàn)錯(cuò)誤還望大家多多包涵,不吝賜教,謝謝2021-07-07通過springboot+mybatis+druid配置動(dòng)態(tài)數(shù)據(jù)源
這篇文章主要介紹了通過springboot+mybatis+druid配置動(dòng)態(tài)數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06centos下GitLab+Jenkins持續(xù)集成環(huán)境搭建(安裝jenkins)
這篇文章主要為大家詳細(xì)介紹了centos下搭建GitLab+Jenkins持續(xù)集成環(huán)境,安裝jenkins的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04java理論基礎(chǔ)Stream API終端操作示例解析
這篇文章主要為大家介紹了java理論基礎(chǔ)Stream API終端操作示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03Javaweb項(xiàng)目啟動(dòng)Tomcat常見的報(bào)錯(cuò)解決方案
Java Web項(xiàng)目啟動(dòng)Tomcat時(shí)可能會(huì)遇到各種錯(cuò)誤,本文就來介紹一下Javaweb項(xiàng)目啟動(dòng)Tomcat常見的報(bào)錯(cuò)解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Spring Boot 與 Kotlin 使用Redis數(shù)據(jù)庫的配置方法
Redis是目前業(yè)界使用最廣泛的內(nèi)存數(shù)據(jù)存儲(chǔ)。下面通過本文給大家介紹Spring Boot 與 Kotlin 使用Redis數(shù)據(jù)庫的配置方法,感興趣的朋友一起看看吧2018-01-01