用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 zuoyan
* @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填充的局面。好了今天的分享就到这里。我是 左颜小麦迪,多多关注,分享更多有用的编程干货。