老板居然让我用Java造假数据

news/2024/7/1 4:47:17

1. 前言

老板说,明天甲方要来看产品,你得搞点数据,而且数据必须是“真”的,演示效果要好看一些,这样甲方才会采购咱们的产品。一般开发接到这种过分要求都不会很乐意去做,这完全是体力劳动了,而且很棘手。今天胖哥教你一招,让你做出逼真的“假”数据。

2. javafaker

这张图大家都很熟悉吧。我们Java也能搞Fake,它就是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 fakerWithCN = 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);

}

我们来看下结果:

javafaker生成的仿真数据

是不是看上去跟真的一样,但是一定要用到正途,不要用到歪门邪道上。

3. 总结

用了javafaker之后我们不但可以完成老板提出的需求,而且可以减少我们平常使用测试的时候用各种test填充的局面。好了今天的分享就到这里。我是 码农小胖哥,多多关注,获取更多有用的编程干货。

Spring Cloud 2020.0发布,移除了Hystrix、Zuul等Netflix组件

Spring 的这个工具类操作对象类型真是方便

如何在Swagger2或Swagger3中增加Json Web Token

 


http://www.niftyadmin.cn/n/2067598.html

相关文章

python元组转字典_Python 字典转元祖问题

求各位大佬帮忙&#xff0c;本人新手遇到问题有点烦躁&#xff0c;如下&#xff1a; 需求如下&#xff1a; Python2.7 a {"beijing":20,"shanghai":30} 想要得到&#xff1a; b (["beijing","shanghai"],[20,30]) 并且希望元祖 b 中…

Payment Spring Boot 1.0.2.RELEASE 发布,接入微信支付分、先享卡功能

Payment Spring Boot 是微信支付V3的Java实现&#xff0c;仅仅依赖Spring内置的一些类库。配置简单方便&#xff0c;可以让开发者快速为Spring Boot应用接入微信支付。 演示例子&#xff1a;https://github.com/NotFound403/payment-spring-boot-samples 文档&#xff1a;https…

去掉二级页面 tabs 菜单, 修改返回按钮

imports: [ /*引入的模块 依赖的模块*/  BrowserModule,  ComponentsModule,  IonicModule.forRoot(MyApp,{    tabsHideOnSubPages: true, //隐藏全部子页面 tabs    backButtonText: 返回 /*配置返回按钮*/  })]转载于:https://www.cnblogs.com/yuyedaocao/p…

完整的Java从小白到大牛的自学路线

点击关注"码农小胖哥"右上角"设为星标"好文章送达比别人快最近很多读者在问&#xff1a;Java 怎么学习啊&#xff1f;有没有什么学习路线&#xff1f;我相信这些读者或多或少都有一些 Java 基础&#xff0c;但由于看不到全貌&#xff0c;学了一段时间很容易…

oracle备库搭建,Oracle DG–Rman备份集搭建备库

Oracle DG–Rman备份集搭建备库常用的在线备库搭建有Rman auxiliary 和Rman备份集恢复两种方式。(一)在环境配置OK的问题下&#xff0c;使用一条Rman命令就可以完成备库初始化同步&#xff0c;比较简单。# 登陆rman target sys/Oracle123orcl_pri auxiliary sys/Oracle123orcl_…

c++ map 析构函数_C++虚函数、重载、覆盖

C基础(五)虚函数、重载、覆盖、隐藏 虚函数总是跟多态联系在一起&#xff0c;引入虚函数可以使用基类指针对继承类对象进行操作&#xff01;虚函数&#xff1a;继承接口(函数名&#xff0c;参数&#xff0c;返回值)&#xff0c;但是实现不继承(函数体)非虚函数&#xff1a;继承…

如何简洁实现游戏中的AI

2019独角兽企业重金招聘Python工程师标准>>> 端午节放假总结了一下好久前写过的一些游戏引擎&#xff0c;其中NPC等游戏AI的实现无疑是最繁琐的部分&#xff0c;现在&#xff0c;给大家分享一下&#xff1a; 从一个简单的情景开始 怪物&#xff0c;是游戏中的一个基…

oracle有日志文件吗,oracle 日志文件

以下来自Oracle文档.使用诊断文件监视例程:• 共有以下几种类型&#xff1a;– alertSID.log 文件– 后台跟踪文件– 用户跟踪文件使用诊断文件监视例程诊断文件是获取有关数据库活动的信息的一种方法。同时也是管理例程的有用工具。诊断文件有几种类型。创建的诊断文件的类型取…